50+ Entwickler
Shopware Silver & Erweiterung Partner
Zertifizierte Advanced Entwickler & Solution Architects
200+ E-commerce projecte
Shopware besteht aus mehreren Modulen, die die gesamte Codebasis in überschaubare Chunks aufteilen. Module können unabhängig oder abhängig von anderen Modulen sein.
Auf hohem Niveau besteht Shopware aus mehreren Modulen, die die komplette Codebasis in logische Teile unterteilen. Module können autonom oder von anderen Modulen abhängig sein.
Untersuchen wir das allgemeine Komponentenlayout der Storefront. Wenn Sie auf dieses Verzeichnis zugreifen, sehen Sie viele Unterverzeichnisse und Vorlagen. Bei der Funktionalität der Storefront-Komponente spielen (./Resources) eine wichtige Rolle. Darüber hinaus gibt es weitere Verzeichnisse, die einen Besuch wert sind: <Schaufenster> – Controller – Abhängigkeitsspritze – Event – Rahmen – Migration – Seite – Pagelet – Ressourcen – Test – Themes – .gitignore – composer.json – phpunit.xml.dist – README.md – Storefront.php Ganz oben in dieser Liste beginnt das Controller-Verzeichnis, das alle Storefront-Controller enthält. Wie bereits erwähnt, wird eine Seite innerhalb desselben Controllers mit Hilfe der entsprechenden Seitenladeprogramme, Seiten, Pagelets und Ereignissen erstellt. Sie alle befinden sich in den Seiten, Pagelets und deren Unterverzeichnisse. Anmerkungen werden verwendet, um detaillierte Informationen über das Routing jeder Controller-Methode bereitzustellen. Alle von den Controllern verwendeten Abhängigkeiten sind im DependencyInjection-Verzeichnis enthalten. Das Framework-Verzeichnis enthält unter anderem das Routing, Caching und zusätzliche Informationen, im Gegensatz zum Event-Verzeichnis, welches Route-Request-Events enthält. Migrationen und Tests gelten natürlich auch für unsere Storefront-Komponente (z. B. Tests für jeden Storefront-Controller). Die Vorlagenstruktur im inside. /Resources ist eine Startvorlage, die von Bootstrap abgeleitet ist, da das Storefront-Design Bootstrap verwendet. Zusätzlich zur Anwendung von SASS als CSS-Präprozessor und Twig als Template-Engine,wird Webpack auch zum Bündeln und Transpirieren verwendet. Dieses Verzeichnis-Layout ist eine ausgezeichnete Praxis für die Vorlagenerstellung.
Die spezialisierten SPA-Quellen befinden sich in der Verwaltungskomponente von platform/src/Administration in einem bestimmten Unterverzeichnis, obwohl die Vue.js-Hauptanwendung in ein Symfony-Bundle verpackt ist. Daher ist /Resources/app/administration der primäre Einstiegspunkt der SPA. Stellen Sie sich alles andere in platform/src/Administration als umschlossene Konfiguration für die SPA vor. Die Hauptziele dieses Pakets sind die Initialisierung des Routings (/admin) und der Hauptvorlagendatei der Administration, die wiederum die SPA (./Resources/views/administration/index.html.twig) initialisiert, sowie für Übersetzungen verantwortlich ist. Die drei verschiedenen Fälle, denen die Verwaltung gegenübersteht, sind entlang des src-Verzeichnisses der SPA unten organisiert: • Angebotskomponenten • Ein Anwendungsskelett • Gemeinsame Funktionalität <platform/src/Administration/Resources/app/administration/src/> -App – Ader – Modul • App: Dieser Abschnitt enthält das Anwendungsframework der Administration. In der Regel entdecken Sie hier Rechenelemente, die vom Framework abhängen. • Die Anbindung an die Admin-API und Dienste sind im Kern enthalten. • Modul: Die Benutzeroberfläche und die Zustandsverwaltung bestimmter Ansichtsseiten sind entlang der Kernmodule organisiert. Um mehr über die Struktur eines Moduls zu erfahren, gehen Sie zum Modulabschnitt.
Der zum Rendern erforderliche Einstiegspunkt stellt eine Seite dar, die Aufrufe enthält. Eine Ansicht ist ein untergeordneter Abschnitt der Seite, der über Komponenten verfügt. Eine Komponente kann andere Komponenten in sich tragen; die Verzeichnisstruktur ist ab diesem Punkt undifferenziert. In jedem Modul muss mindestens eine Seite enthalten sein. Obwohl Ansichten und Komponenten in das Modul aufgenommen werden können, gibt es auch eine beträchtliche Standardkomponentenbibliothek, die in häufigen Situationen hilft. |- page1 |- view1 |- component1 |- component2 |- subcomponent1 |- view2 |- component3 |- …
Sie können das Auftragsmodul genauer untersuchen, um ein realistischeres Beispiel zu sehen. Diese Struktur ist normalerweise in Verbindung mit anderen Modulen bezüglich der Einrichtung von Seiten oder Ansichten zum Hinzufügen, Modifizieren, Auflisten oder Anzeigen einer bestimmten Entität vorhanden. <platform/src/Administration/Resources/app/administration/src/module/sw-order/> |- acl |- component |- sw-order-address-modal |- … |- page |- sw-order-create |- sw-order-detail |- sw-order-list |- snippet |- state |- view |- sw-order-create-base |- sw-order-details-base |- index.js Wenn Sie mehr über E-Commerce-Entwicklungsplattformen oder Apps erfahren möchten, lesen Sie unsere Lexika für Shopify und Shopware. Unser engagiertes Outsourcing-Team kann Ihr Partner im E-Commerce sein.