Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

t3n 3

Die lang erwartete TYPO3 Extension „commerce“ steht kurz vor der Veröffentlichung: commerce

    Die lang erwartete TYPO3 Extension „commerce“ steht kurz vor der Veröffentlichung: commerce

Die in diesem Artikel beschriebene „commerce“-Extension wurde maßgeblich durch die Teams der Firmen e-netconsulting, n@work (Hamburg) und Marketing Factory (Düsseldorf) konzipiert und entwickelt.

Es ist dabei gelungen, ein flexibles, voll in das TYPO3 Framework integriertes System zu schaffen, welches sich an vorhandene Abläufe und Systeme anpassen lässt.Die Herausforderung für das Team lag hierbei darin, die Anforderungen an ein komplexes Shop-System mit dem TYPO3-Framework abzubilden. Hierzu gehörten insbesondere die Nutzung der vorhandenen Mechanismen für Nutzerberechtigung, Lokalisierung und der Standardmethoden aus dem TYPO3-Framework. Dennoch konnten nicht alle benötigten Funktionen mit TYPO3-Bordmitteln umgesetzt werden, sodass zur Lösung einiger Detail-Anforderungen neue Module erfunden werden mussten.

Darstellung der Produkte im eigenen Kategoriebaum

Produkte werden in„commerce“ in einem eigenen Baum abgelegt. Hierdurch ist eine klare Trennung von Inhalten und Waren allein über das verwendete Modul gewährleistet und für Redakteure deutlich. Einzelne Produktbäume werden dann durch das Einfügen über ein Plugin in die vorhandene TYPO3-Installation integriert.

Für den Aufbau des eigenen Baumes ist in diesem Fall die „graytree-Lib“ entwickelt worden, die von Franz Holzinger gepflegt wird und schon jetzt im TYPO3-Extension-Repository verfügbar ist. Diese Bibliothek ist abstrakt gehalten, sodass sie auch in anderen Extensions genutzt werden kann. Im Gegensatz zum normalen TYPO3-Seitenbaum kann diese Extension auch Referenzen innerhalb des Baumes verarbeiten.

Erweiterte Darstellung von m:m Relationen

In„commerce“ können zu Produkten verschiedene Attribute gepflegt werden, die zum Beispiel Eigenschaften wie Maße oder das Gewicht eines Artikels beschreiben. Da die Zahl dieser Attribute von Produkt zu Produkt verschieden sein kann, musste ein Weg gefunden werden, die Darstellung im TYPO3-Backend flexibel zu gestalten. Hier kommt die von Thomas Hempel entwickelte Extension „Dynamic Flexforms“ zum Einsatz (siehe T3N Magazin 02/2005, Seite 36).

Parallelle Ablage in relationalen Datenbankmodellen und XML-Datenstrukturen

TYPO3 legt komplexe Datenstrukturen in XML-Feldern ab, die dann beim Darstellen der Inhalte wieder in eine Datenstruktur gewandelt werden. Diese Datenstrukturen liegen dann zur Laufzeit nur in Form von PHP-Variablen vor. Da„commerce“ die Frontend-Darstellung von mehreren Datensätzen abhängig macht und hier wiederum Datenstrukturen abgefragt werden, wäre das Abfragen und Auswerten der XML-Daten sehr zeitaufwendig und unflexibel gewesen. Stattdessen schreibt„commerce“ die Daten sowohl TYPO3-konform in XML-Datenstrukturen als auch in ein relationales Datenbankmodell.

Von Anfang an wurde bei der Entwicklung auf ein klares Objekt-Modell geachtet. Dieses stellt dank konsequenter Nutzung der objektorientierten Programmierung, eine durchdachte API für die interne Programmierung und damit auch für Erweiterungen zur Verfügung. Zusätzlich zu der Erweiterung durch das Ableiten von Klassen (XCLASS) sind in das System einige Hooks integriert worden, die eine besonders leichte Anpassung der Extension an spezielle Gegebenheiten bieten sollen.

Bitte beachte unsere Community-Richtlinien

Schreib den ersten Kommentar!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden