Warning: Call-time pass-by-reference has been deprecated in /srv/www/vhosts/shopleiter.eu/httpdocs/mediawiki/extensions/Autolink/AutoLink.php on line 94 Notice: Undefined variable: desc in /srv/www/vhosts/shopleiter.eu/httpdocs/mediawiki/extensions/Description/Description.php on line 63 Zend-Framework – ShopleiterWiki
Cloud Commerce Conference in Augsburg

Zend-Framework

Aus ShopleiterWiki

Wechseln zu: Navigation, Suche

1.1.3 Zend Framework Shop-Architektur

Zend Framework

Die Shop-Software von Magento nutzt als Quellcode-Grundlage das Zend Framework. Dadurch profitiert diese eCommerce-Lösung in ganz besonderem Maße von der umfassenden Sicherheit und Skalierbarkeit. Für die Entscheidung das Zend Framework, als Basis einzusetzen, sprechen aber noch viele zusätzliche Vorteile:

  • Objektorientierung: Komponeten und Module für wiederkehrende Aufgaben
  • Flexibilität: Quellcode von Magento ist anpassbar an alle Bedürfnisse
  • Erweiterungsfähigkeit: Core Code läuft getrennt von eigenen Anpassungen
  • Geschwindigkeit: Genutzte Code-Standards steigern die Leistungsfähigkeit
  • Open Source: Eine riesige Community treibt das Zend-Projekt voran
  • Dokumentation: Es gibt bereits deutsche Bücher und Referenzhandbücher

Magento User Guide

Auf den ersten Blick klingt das sehr stark nach Programmierer-KnowHow. Stimmt natürlich einerseits, aber andererseits helfen Ihnen erste Grundkenntnisse schon beim Download zusätzlicher Extensions. Es geht uns hierbei also nicht so sehr um die Programmierung des eigenen Shops, sondern darum, dass Sie die Basiskonzepte und Fachausdrücke (Terminologie) innerhalb von Magento kennen.

Schauen Sie sich also nur Mal auf der MagentoCommerce-Plattform um und versuchen eine Paketerweiterung (Extension) runterzuladen. Dann fallen Ihnen schon die drei großen Teilbereiche auf: Core, Community und Commercial (siehe Abbildung 1.22).

  • Core: Der Core-Bereich von Magento beinhaltet sämtliche Funktionalitäten, die die Download-Version beinhaltet. Beim Core-Code handelt es sich um die Modul-Sammlung, die vom Magento Entwicklerteam selbst entwickelt oder zertifiziert wurden. Es ist nicht ratsam, Änderungen an diesen Dateien vorzunehmen, denn so schränken Sie womöglich die Upgrade-Fähigkeit ein.
  • Community: Im Community-Bereich finden Sie meist gratis von anderen Anwendern beigesteuerte Modul-Pakete. Technisch betrachtet, liegen diese Paketerweiterungen in einem separaten Verzeichnis, wodurch diese keinerlei Berührungspunkte mit dem Core besitzen. Durch die saubere Trennung ist also niemals der eigentliche Core-Code in Gefahr.
  • Commercial: Der Commercial-Bereich steht für kommerzielle Extensions zur Verfügung.

Im Ordner /app/code/ finden Sie die drei Verzeichnisse: community, core und local. Die Namensgebung ist natürlich nicht rein zufällig, wo Community und Commercial zusammengefasst sind. Falls Sie zukünftig eigene Paketerweiterungen planen, steht für Sie das local-Verzeichnis bereit. Durch die strikte Trennung beeinflussen sich diese Teilbereiche gegenseitig nicht.

Download Magento Connect Extensions

Packen einer eigenen Extension

Extension

Eine Extension besteht aus ein oder mehreren Dateien, mit dessen Hilfe Sie die Standard-Funktionalität des Shop-Systems erweitern. Gemäß den allgemeinen Geschäftsbedingungen dürfen Extensions keine Core-Code Dateien verändern oder überschreiben. Fraglich ist nur, ob sich daran tatsächlich alle halten. Damit könnte die Upgrade-Fähigkeit bei neuen Magento-Versionen in Gefahr geraten.

Es gibt mehrere Wege, Extensions zu installieren, etwa mittels PEAR-Paket auf Shell-Ebene unter PuTTY. Dann gibt es noch die bequeme Methode im Backend-Bereich mit dem Magento Connect Manager. Alternativ besteht noch die Möglichkeit zum direkten Download z. B. per SVN. Mehr dazu lesen Sie am Ende von Kapitel 3, wo wir Ihnen kurz die PHP-Entwicklungsumgebung Eclipse vorstellen. Insgesamt betrachtet gibt es übrigens drei Arten von Paketerweiterungen:

  • Module erweitern die Standard-Funktionalität eines Online-Shops
  • Interfaces bündeln das WebDesign (Layout-, Template- und Skin-Dateien)
  • Blöcke kennzeichnen bzw. verwalten Bereiche für unterschiedliche Inhalte

Mehr über Interfaces, Themes und Blöcke lesen Sie ebenso zu Beginn von Kapitel 3. Dort beschreiben wir Ihnen in groben Zügen die Entwicklung und Bearbeitung eines eigenen Designs.

Persönliche Werkzeuge