E-Commerce mit TYPO3
Die Auswahl einer passenden E-Commerce-Extension für Ihre TYPO3-Website ist für den Erfolg des Online-Shops entscheidend. Von zentraler Bedeutung sind der Funktionsumfang, die Möglichkeit zur Anbindung an andere Systeme oder die Integrationsmöglichkeit verschiedener Bezahlsysteme. Auch die Weiterentwicklung der Erweiterung (damit auch weiterhin TYPO3-Updates möglich sind), Integrationsmöglichkeiten sowie die Möglichkeit zur Umsetzung von individuellen Anpassungen im Code sind ebenfalls wichtige Kriterien. Hier ein kleiner, unvollständiger Überblick über die bekanntesten E-Commerce-Erweiterungen für TYPO3:
- TYPO3 Cart - Shopping Cart für TYPO3
- Aimeos Shop - The TYPO3 E-Commerce Framework
- TYPO3 Shop - Einfacher Shop für TYPO3 inkl. Payment Provider
- Shop System - tt_products Shopy System Erweiterung für TYPO3
Cart im Detail
Die Erweiterung ist offiziell im Extension-Repository von TYPO3 sowie als Composer-Package verfügbar. Die umfangreiche Dokumentation enthält alle wichtigen Informationen für Entwickler, Redakteure und Administratoren. Vorallem die leichte Konfiguration von Steuersätzen, Versandoptionen und -kosten, Bezahlmethoden, E-Mails und Währungen sind sehr praktisch.
Die Extension bietet in der Grundkonfiguration u.a. folgene Möglichkeiten und Funktionen:
- Verwaltung von Produkten
- Verschiedene Steuersätze/Steuerklassen
- Flexible Definition der Versandkosten
- Warenkorb (und einen Mini-Warenkorb)
- Checkout-Prozess (kann auch als mehrstufiger Checkout konfiguriert werden)
- Verwaltung von Bestellungen
- Versand von E-Mails (Bestllbestätigung, Bestelleingang, Versandinformationen uvm.)
- Verschiedene Währungen
- Verwaltung von Lagerständen
- Verwaltung von Produktpreisen (Normalpreis, Spezialpreise, Mengenrabatt)
- Produktvarianten (Farben, Größen etc.)
- Aktionen und Sonderpreise
- Verschiedene Bezahlmethoden (Rechnung, PayPal, Kreditkarte uvm.)
- Mehrere Versandmöglichkeiten (Post, Dhl, Digital,...)
- Rabatte (Gutscheine / Coupons)
- Kategorieseiten und Produktdetailseiten
- Gastbestellungen / Benutzerprofil
- Automatisierte Erstellung von PDF-Dateien (Bestellbestätigungen, Rechnungen oder Lieferscheine)
Backend-Module
Von Cart werden folgende Backend-Module für die Verwaltung angeboten:
- Bestellungen
- Produkte
- Gutscheine
Erweiterungen für TYPO3 Cart
Die Cart-Erweiterung wurde von den Entwicklern sehr modular aufgebaut, damit sich die Erweiterung leicht mit weiteren Funktionen verbessern lässt. Aktuell existieren folgende Erweiterungen für Cart:
- cart_products: Unterstützt einfache und konfigurierbare Produkte.
- cart_events: Verwalten und Buchungen für Veranstaltunge (Inkl. Platzbuchung).
- cart_books: Verwaltung und Vertrieb von Büchern - Verlagssoftware
- contacts: Erweiterung der Adressverwaltung: Personen, Unternehmen mit verschiedenen Adressen und Geolocation.
- cart_pick_up_only: Es können Produkte auch Vorort abgeholt werden (Selbstabholung).
Payment-Provider für TYPO3 Cart
Für Cart bestehen Anbindungen zu zahlreichen Payment-Anbietern. Diese sind:
- Kauf auf Rechnung
- PayPal (Direkte Anbindung)
- Nexi
- Mollie
- MPay24
- Payrexx
- Saferpay
- Payone
- Girosolution
Cart für TYPO3-Entwickler / Customizing
Der große Vorteil von TYPO3-Cart liegt darin, dass die Extension als "normale" Extbase-Extension erstellt wurde. So lässt sich die Erweiterung leicht anhand bekannter Konzepte, wie Hooks, Signals und Event Listeners (PSR-14), erweitern.
Als kleines Beispiel zeigen wir, wie man ganz einfach die Versandkosten auf Basis eigener Berechnungen durchführen kann. Dafür muss im TypoScript ein eigener Service registriert werden:
shippings {
at {
preset = 1
options {
1 {
title = Österreichische Post
className = Various\VaShop\Service\ShippingService
taxClassId = 4
status = open
}
}
}
ch < .at
it < .at
de < .at
}
Anschließend kann man in der Service-Klasse die Versandkosten individuell und wie gewünscht berechnen. In unserem Beispiel werden die Versandkosten auf Basis von Gewicht berechnet und ab 29 € ist der Versand in Österreich und Deutschland frei.
class ShippingService extends \Extcode\Cart\Domain\Model\Cart\Service
{
private function calcShipping($type)
{
$shippingText = "Service- und Versandkosten";
$shippingCosts = 0.0;
if ($type == "shippingText") {
return $shippingText;
}
//calc weigth
$weight = ProductUtility::getProductsWeight($this->cart->getProducts());
if (ProductUtility::isOnlyVirtualProducts($this->cart->getProducts())) {
//all ordered products are virtual
return 0.0;
}
//calculate shipping based on data from products
if (strtolower($this->cart->getShippingCountry()) == 'at' || strtolower($this->cart->getShippingCountry()) == 'de') {
if ($this->cart->getGross() >= 29.0) {
return 0.0;
}
return $this->calcShippingCosts($this->cart->getShippingCountry(), $weight);
} else {
return $this->calcShippingCosts($this->cart->getShippingCountry(), $weight);
}
return $shippingCosts;
}
}
Referenzen / Use Cases / Projekte
Hier möchten wir noch einige Use Cases und Projekte herzeigen, welche wir mit TYPO3 Cart erstellt haben:
-
TRAUNER VERLAG - Verkauf von Büchern und verwandten Produkten
-
Leben4Jetzt - Buchungserweiterung Unterkünfte / Airbnb / Hotels
- Ankerlichtung - Praxis für Psychohygiene - Vertrieb von Dienstleistungen
- YogaMeHome - Online Yoga-Studio - Vertrieb von Mitgliedschaften, Videos, Programmen uvm.
Hier finden Sie unseren Demo-Shop, welchen wir Ihnen gerne auch per Videokonferenz präsentieren oder einen Backend-Benutzer erstellen.
Fazit über cart
Mit TYPO3-Cart können Sie auch gleichzeitig einen Online-Shop mit großem Funktionsumfang in Ihrer TYPO3-Website betreiben. Cart ist Open-Source Lösung und kann von versierten TYPO3-EntwicklerInnen betreut werden. Die TYPO3 cart-Extension lässt sich einfach erweitern und an individuelle Anforderungen anpassen. Ein kleiner Nachteil von cart ist die fählende Integration in bestehende CRM/PIM Systeme - dieses lässt sich aber durch bestehende API's oder Datenaustauschformate nachrüsten.
Wir entwickeln digitale Lösungen mit Leidenschaft
Warum wir das tun? Weil die Verwirklichung Ihrer Vision unser größter Anspruch und die schönste Anerkennung ist. Deshalb nehmen wir uns gerne ausreichend Zeit für die Realisierung Ihres digitalen Projekts.
Kontaktieren Sie uns, wir sind gerne für Ihre Fragen da: