© saicle/Shutterstock.com
PHP Magazin
Teil 3: Das Plug-in-System und eigene Erweiterungen

Mehr Freiheit mit den Shopware-6-Plug-ins

In den vorherigen zwei Artikeln haben wir uns allgemein um Shopware 6 und um das neue API gekümmert. Im dritten und letzten Teil dieser Serie werden wir uns nun dem neuen Plug-in-System widmen.

Thomas Eiling


ArtikelserieTeil 1: Grundlegende Veränderungen im OnlineshopsystemTeil 2: Das API auf Herz und Nieren geprüftTeil 3: Das Plug-in-System und eigene Erweiterungen

Wir werden ein kleines Plug-in schreiben, das uns in einem eigenen Controller die letzten PHP-Magazin-Hefte mit Cover und Kauflink ausgibt. Dafür benötigen wir über das grundsätzliche Plug-in hinaus eine eigene Entity, eine Migration und einen eigenen Controller mit Theme.

Einem erfahrenen Shopware-Entwickler werden in Shopware 6 viele Konzepte und Strukturen bekannt vorkommen – auch wenn sich z. B. die Plug-in-Struktur deutlich verändert hat. Wir werden nun eine Demoumgebung aufsetzen, uns die neue Plug-in-Struktur anschauen und die composer.json erforschen. Danach werden wir eine eigene Datenbanktabelle via Migration anlegen, eine eigene Entity über den Data Abstraction Layer (DAL) erstellen und schlussendlich alles in einem Controller integrieren und anwenden.

Wer aus den vorherigen Artikeln noch eine funktionierende Demoumgebung hat, kann den folgenden Abschnitt getrost überspringen.

Demoumgebung aufsetzen

Wir verwenden die Docker-Umgebung, die auf einem Linux-Client ausgeführt wird. Zuerst klonen wir das Entwicklungstemplate von GitHub mit git clone git@github.com:shopware/development.git. Nun haben wir die Entwicklungsvorlage für Shopware 6 im Verzeichnis development. Anschließend gehen wir mit cd development in das Verzeichnis und klonen noch das eigentliche Shopware-Plattform-Repository mit git clone git@github.com:shopware/platform.git in das Standardverzeichnis. Achtung: Bitte kein anderes Verzeichnis beim Klonen angeben, da das wichtig für das Autoloading ist.

Damit haben wir jeglichen Quellcode, den wir zum Starten auf unserem Rechner benötigen. Um nun die notwendigen Docker-Container zu bauen und zu starten, geben wir ./psh.phar docker:start ein. Mit diesem Befehl werden alle Docker-Container gebaut und gestartet. Anschließend verbinden wir uns mit dem Application Container via ./psh.phar docker:ssh und starten die Installation mit ./psh.phar install.

Das kann beim ersten Mal einige Zeit in Anspruch nehmen, da bei der initialen Ausführung einige Caches erstellt werden müssen. Um zu prüfen, ob die Installation erfolgreich war, könnt ihr einfach euren Lieblingsbrowser öffnen und auf http://localhost:8000 zugreifen.

Wenn ihr z. B. Mac-Anwender seid, könnt ihr das Ganze auch lokal aufsetzen. Eine beispielhafte VirtualHost-Konfiguration könnt ihr im Installationsguide [1] unter „Setting up your ...

PHP Magazin
Teil 3: Das Plug-in-System und eigene Erweiterungen

Mehr Freiheit mit den Shopware-6-Plug-ins

In den vorherigen zwei Artikeln haben wir uns allgemein um Shopware 6 und um das neue API gekümmert. Im dritten und letzten Teil dieser Serie werden wir uns nun dem neuen Plug-in-System widmen.

Thomas Eiling


ArtikelserieTeil 1: Grundlegende Veränderungen im OnlineshopsystemTeil 2: Das API auf Herz und Nieren geprüftTeil 3: Das Plug-in-System und eigene Erweiterungen

Wir werden ein kleines Plug-in schreiben, das uns in einem eigenen Controller die letzten PHP-Magazin-Hefte mit Cover und Kauflink ausgibt. Dafür benötigen wir über das grundsätzliche Plug-in hinaus eine eigene Entity, eine Migration und einen eigenen Controller mit Theme.

Einem erfahrenen Shopware-Entwickler werden in Shopware 6 viele Konzepte und Strukturen bekannt vorkommen – auch wenn sich z. B. die Plug-in-Struktur deutlich verändert hat. Wir werden nun eine Demoumgebung aufsetzen, uns die neue Plug-in-Struktur anschauen und die composer.json erforschen. Danach werden wir eine eigene Datenbanktabelle via Migration anlegen, eine eigene Entity über den Data Abstraction Layer (DAL) erstellen und schlussendlich alles in einem Controller integrieren und anwenden.

Wer aus den vorherigen Artikeln noch eine funktionierende Demoumgebung hat, kann den folgenden Abschnitt getrost überspringen.

Demoumgebung aufsetzen

Wir verwenden die Docker-Umgebung, die auf einem Linux-Client ausgeführt wird. Zuerst klonen wir das Entwicklungstemplate von GitHub mit git clone git@github.com:shopware/development.git. Nun haben wir die Entwicklungsvorlage für Shopware 6 im Verzeichnis development. Anschließend gehen wir mit cd development in das Verzeichnis und klonen noch das eigentliche Shopware-Plattform-Repository mit git clone git@github.com:shopware/platform.git in das Standardverzeichnis. Achtung: Bitte kein anderes Verzeichnis beim Klonen angeben, da das wichtig für das Autoloading ist.

Damit haben wir jeglichen Quellcode, den wir zum Starten auf unserem Rechner benötigen. Um nun die notwendigen Docker-Container zu bauen und zu starten, geben wir ./psh.phar docker:start ein. Mit diesem Befehl werden alle Docker-Container gebaut und gestartet. Anschließend verbinden wir uns mit dem Application Container via ./psh.phar docker:ssh und starten die Installation mit ./psh.phar install.

Das kann beim ersten Mal einige Zeit in Anspruch nehmen, da bei der initialen Ausführung einige Caches erstellt werden müssen. Um zu prüfen, ob die Installation erfolgreich war, könnt ihr einfach euren Lieblingsbrowser öffnen und auf http://localhost:8000 zugreifen.

Wenn ihr z. B. Mac-Anwender seid, könnt ihr das Ganze auch lokal aufsetzen. Eine beispielhafte VirtualHost-Konfiguration könnt ihr im Installationsguide [1] unter „Setting up your ...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang