Grüße! Ich bin Aneesh Sreedharan, CEO von 2Hats Logic Solutions. Bei 2Hats Logic Solutions widmen wir uns der Bereitstellung von technischem Fachwissen und der Lösung Ihrer Probleme in der Welt der Technologie. Unsere Blog-Seite dient als Ressource, in der wir Einblicke und Erfahrungen teilen und wertvolle Perspektiven auf Ihre Fragen bieten.
Shopware hat sich zum beliebten integrierten Tool zum Erstellen von Online-Shops und Apps entwickelt. Die Einfachheit von Shopware macht es auch für Benutzer ohne technische Vorkenntnisse zugänglich, sodass sie die Plattform einfach nutzen und beherrschen können, was die Liste der Vorteile noch weiter erweitert. In diesem Beitrag schauen wir uns an, wie man mit Symfony und dem Shopware App Bundle eine einfache Shopware-App erstellt und einen App-Server einrichtet. Die Entwicklung einer Shopware-App kann durch die Beratung einer Shopware-Agentur erleichtert werden. Wir gehen die Vorgehensweise zur Entwicklung einer Shopware-App durch.
Sie können Ihre eigene App mit Shopware erstellen und integrieren, indem Sie diesen Schritten folgen:
Schritt 1: Erstellen einer einfachen Shopware-App
- Erstellen Sie ein Shopware-App-Verzeichnis: Beginnen wir mit der Erstellung eines neuen Verzeichnisses für Ihre App im Verzeichnis „custom/apps“ Ihrer Shopware-Installation. Wählen Sie einen passenden Namen für Ihre App, z. B. „MyExampleApp“.
Beispielverzeichnisstruktur:
└── Benutzerdefiniert
└── Apps
└── MyExampleApp
└── manifest.xm
- Definieren Sie die Datei manifest.xml: Die Datei manifest.xml dient als Kern Ihrer App und definiert die Schnittstelle zwischen Ihrer App und der Shopware-Instanz. Es enthält wichtige Informationen zu Ihrer App. Öffnen Sie die Datei manifest.xml und fügen Sie den folgenden Code hinzu:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?xml version="1.0" encoding="UTF-8"?> <manifest xmlns_xsi="http://www.w3.org/2001/XMLSchema-instance" xsi_noNamespaceSchemaLocation="https://raw.githubusercontent.com/shopware/platform/trunk/src/Core/Framework/App/Manifest/Schema/manifest-2.0.xsd"> <meta> <name>MyExampleApp</name> <label>Label</label> <label lang="de-DE">Name</label> <description>A description</description> <description lang="de-DE">Eine Beschreibung</description> <author>Your Company Ltd.</author> <copyright>(c) by Your Company Ltd.</copyright> <version>1.0.0</version> <icon>Resources/config/plugin.png</icon> <license>MIT</license> </meta> </manifest> |
- Fügen Sie Ihr App-Logo hinzu: Erstellen Sie einen neuen Ordner mit dem Namen „Resources/config“ im Ordner „MyExampleApp“. Kopieren Sie Ihre App-Logodatei (z. B. „plugin.png“) in den Ordner „Resources/config“.
- Installieren und aktivieren Sie die App: Nutzen Sie die Shopware-CLI, um Ihre App zu installieren und zu aktivieren. Führen Sie im Stammverzeichnis Ihrer Shopware-Installation den folgenden Befehl aus.
- bin/console app:install –activate MyExampleApp
Schritt 2: Erstellen eines App-Servers mit Symfony und dem Shopware App Bundle
- Erstellen Sie ein neues Symfony-Projekt: Erstellen Sie zunächst ein neues Symfony-Projekt mit dem folgenden Befehl:
Composer Create-Project Symfony/Skeleton: „6.2.*“ My-App
- App Bundle installieren: Navigieren Sie in das Projektverzeichnis und installieren Sie das Shopware App Bundle mit Composer:
cd meine-app
Composer benötigen Shopware/App-Bundle
- Aktualisieren Sie die Datenbankdetails: Öffnen Sie die .env-Datei in Ihrem Symfony-Projekt und aktualisieren Sie den Parameter DATABASE_URL mit Ihren tatsächlichen Datenbankverbindungsdetails.
- Migrationsdateien generieren: Installieren Sie die erforderlichen Pakete, um Migrationsdateien zu generieren:
Komponist benötigt Symfony/Maker-Bundle –dev
Komponisten erfordern Migrationen
Generieren Sie die Migrationsdateien mit den folgenden Befehlen:
php bin/console make: Migration
php bin/console doctrine:migrations: migrieren
- Führen Sie den App-Server aus: Sie können den Symfony-App-Server mit dem folgenden Befehl starten:
Symfony-Server:Start
Dadurch wird Ihr App-Server standardmäßig unter http://127.0.0.1:8000 ausgeführt.
Schritt 3: Shopware und App-Server verbinden
- Öffnen Sie die Shopware-Datei manifest.xml: Suchen Sie die Datei manifest.xml in Ihrem Shopware-App-Projekt und fügen Sie den folgenden Code im Abschnitt <setup> hinzu:
1 2 3 4 5 6 7 | <setup> <registrationUrl>http://127.0.0.1:8000/app/lifecycle/register</registrationUrl> <secret>TestSecretCode</secret> </setup> |
- Aktualisieren Sie die App-Server-Umgebungsdatei: Öffnen Sie die Umgebungsdatei (normalerweise .env) Ihres App-Servers (Symfony-Projekt). Aktualisieren Sie die folgenden Zeilen:
- ###> Shopware/App-Bundle ###SHOPWARE_APP_NAME=MeineBeispielAppSHOPWARE_APP_SECRET=TestSecretCode###< Shopware/App-Bundle ###
- Installieren Sie die Shopware-App neu oder leeren Sie den Cache: Nachdem Sie die Änderungen vorgenommen haben, installieren Sie Ihre Shopware-App neu oder leeren Sie den Cache, um die Updates anzuwenden.
- Überprüfen Sie die Shop-Tabelle in der App-Server-Datenbank: Nach der Neuinstallation der App können Sie überprüfen, ob die Details der Shopware-App in die Shop-Tabelle der Datenbank Ihres App-Servers eingefügt werden
Mit diesen Schritten haben Sie den App-Server erfolgreich eingerichtet und Shopware mit Ihrem App-Server verbunden. Jetzt können Sie mit der Entwicklung und Integration Ihrer App mit Shopware beginnen.
Schritt 4: Erstellen einer benutzerdefinierten Seite im App Server (Symfony) und Verbinden mit Shopware
- Erstellen Sie einen Controller: Erstellen Sie eine neue Controller-Datei, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:
Symfony-Konsole make:controller HomeController
- Definieren Sie eine benutzerdefinierte Funktion im Controller: Öffnen Sie die HomeController-Datei und fügen Sie eine benutzerdefinierte Funktion hinzu. Fügen wir zum Beispiel eine Funktion namens home hinzu:
- 1234567891011121314151617181920212223242526272829<?phpnamespace AppController;use SymfonyBundleFrameworkBundleControllerAbstractController;use SymfonyComponentHttpFoundationResponse;use SymfonyComponentRoutingAnnotationRoute;class HomeController extends AbstractController{#[Route('/home', name: 'home_app')]public function home(): Response{$data = 'Hello, this is my custom page!';return new Response($data);}}<span id="mce_marker" data-mce-type="bookmark" data-mce-fragment="1"></span>
- Greifen Sie auf die benutzerdefinierte Seite zu: Öffnen Sie Ihren Browser und besuchen Sie {BASEURL}/home, wobei {BASEURL} die Basis-URL Ihres App-Servers ist (z. B. http://127.0.0.1:8000). Sie sollten die Ausgabe Ihrer benutzerdefinierten Seite sehen.
- Erstellen einer Twig-Datei: Installieren Sie das Twig-Bundle, indem Sie den folgenden Befehl ausführen
Komponist benötigt Symfony/Twig-Bundle
Dadurch werden die erforderlichen Abhängigkeiten installiert und Twig für Ihr Symfony-Projekt konfiguriert.
- Erstellen Sie die Twig-Vorlage: Erstellen Sie im Ordner templates (im src-Verzeichnis) eine neue Twig-Vorlagendatei mit dem Namen index.twig.html. Passen Sie den Inhalt der Vorlage Ihren Anforderungen entsprechend an. Zum Beispiel:
1 2 3 4 5 6 7 8 9 10 11 | <!DOCTYPE html> <html> <body> <h3>My new page</h3> </body> </html> |
- Aktualisieren Sie Ihren HomeController: Öffnen Sie die HomeController-Datei und aktualisieren Sie die Home-Funktion, um die zuvor erstellte Twig-Vorlage zu rendern. Hier ist ein Beispiel:
- öffentliche Funktion home(): Antwort{ return $this->render(‘index.html.twig’);}
Schritt 5: Schnittstelle mit Shopware verbinden
- Öffnen Sie die Datei manifest.xml Ihrer Shopware-App (MyExampleApp).
- Fügen Sie im Abschnitt <admin> den folgenden Code hinzu:
1 2 3 4 5 6 7 8 9 10 11 | <admin> <module name="MyExampleApp" source="http://127.0.0.1:8000/home" parent="sw-marketing" position="50"> <label>New Menu</label> <label lang="de-DE">Neues Menü</label> </module> </admin> |
- Leeren Sie den Cache oder installieren Sie Ihre App neu: Um sicherzustellen, dass die Änderungen in der Datei manifest.xml wirksam werden, leeren Sie den Cache oder installieren Sie Ihre App neu.
- Überprüfen Sie die Schnittstellenintegration: Nachdem Sie den Cache geleert oder Ihre App neu installiert haben, sollte in der Admin-Seitenleiste unter dem angegebenen übergeordneten Menü ein neuer Menüpunkt erscheinen. Es sollte als „Neues Menü“ gekennzeichnet sein (oder die entsprechende Bezeichnung in der angegebenen Sprache).
- Wenn die Iframe-Vorlage nicht geladen wird, stellen Sie sicher, dass das folgende Skript-Tag in der Indexdatei Ihres App-Servers vorhanden ist (normalerweise src/templates/index.html.twig):
1 | <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%3E%0A%20%20%20%20window.onload%20%3D%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20window.parent.postMessage(%22sw-app-loaded%22%2C%20%22*%22)%3B%0A%20%20%20%20%7D%0A%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="<script>" title="<script>" /> |
FAQ
Was ist AppServer im Zusammenhang mit der Entwicklung von Shopware-Anwendungen?
AppServer ist ein leistungsstarkes Entwicklungstool von Shopware, mit dem Entwickler benutzerdefinierte Anwendungen, Plugins oder Erweiterungen für die Shopware-E-Commerce-Plattform erstellen können. Es dient als Rückgrat für die App-Entwicklung und ermöglicht eine nahtlose Integration mit der Architektur und den Funktionalitäten von Shopware.
Welche Programmiersprachen kann ich verwenden, um eine Shopware-App mit AppServer zu erstellen?
AppServer unterstützt hauptsächlich PHP für die Backend-Entwicklung und JavaScript (einschließlich Frameworks wie Vue.js) für die Frontend-Entwicklung. Entwickler können PHP verwenden, um Backend-Logik zu erstellen und Daten zu verarbeiten, während JavaScript für die Erstellung interaktiver Benutzeroberflächen und die Verbesserung des Frontend-Erlebnisses der App verwendet wird.
Kann ich mit AppServer benutzerdefinierte Datenbanken oder externe APIs in meine Shopware-Anwendung integrieren?
Ja, AppServer ermöglicht die nahtlose Integration von benutzerdefinierten Datenbanken und externen APIs in Ihre Shopware-Anwendung. Sie können Ihre App mit externen Datenquellen verbinden, Daten abrufen und sie innerhalb Ihrer Anwendung verwenden, um den Benutzern erweiterte Funktionen anzubieten.
Sind Vorkenntnisse in der Shopware-Entwicklung notwendig, um eine App mit AppServer zu erstellen?
Vorkenntnisse in der Shopware-Entwicklung können von Vorteil sein, sind aber nicht zwingend erforderlich. Grundlegende Kenntnisse von PHP, JavaScript und Webentwicklungskonzepten werden empfohlen, da sie Ihnen helfen, den Shopware-App-Entwicklungsprozess besser zu verstehen. Die Shopware-Dokumentation und die Community-Ressourcen können ebenfalls wertvolle Lernwerkzeuge für Anfänger sein.
Table of contents
- Schritt 1: Erstellen einer einfachen Shopware-App
- Schritt 2: Erstellen eines App-Servers mit Symfony und dem Shopware App Bundle
- Schritt 3: Shopware und App-Server verbinden
- Schritt 4: Erstellen einer benutzerdefinierten Seite im App Server (Symfony) und Verbinden mit Shopware
- Schritt 5: Schnittstelle mit Shopware verbinden