shopware 6 plugin
Aneesh . 3 minutes
September 5, 2023

So erstellen Sie benutzerdefinierte Komponenten in der Shopware 6 Plugin-Konfiguration

Aufgrund der Komplexität erlaubt Shopware nicht die Anzeige aller Komponenten auf der Plugin-Konfigurationsseite. Stattdessen empfiehlt Shopware die Erstellung benutzerdefinierter Module, um diese Komponenten innerhalb von Plugins effektiv zur Geltung zu bringen. Obwohl die Erstellung unserer benutzerdefinierten Module eine Option ist, ist es wichtig zu beachten, dass dieser Ansatz zeitaufwändig sein kann. Alternativ können wir benutzerdefinierte Komponenten innerhalb der Plugin-Konfiguration verwenden, um die spezifischen Anforderungen unseres Plugins effizienter zu erfüllen. In diesem Blogbeitrag werden wir uns eingehend mit einer detaillierten Anleitung befassen, wie Sie mithilfe benutzerdefinierter Komponenten Nachrichten elegant anzeigen und API-Aufrufschaltflächen in der Plugin-Konfiguration implementieren können.

Gut aussehende Nachrichten

In unseren Plugins nutzen wir häufig Snippets, um Übersetzungen in Textelemente einzubinden. Um diese Snippets innerhalb des Plugins ansprechend und informativ darzustellen, können wir benutzerdefinierte Komponenten verwenden. Zuerst müssen wir wie unten beschrieben eine benutzerdefinierte Komponente zur Konfigurationsseite des Plugins hinzufügen.

Der nächste Schritt besteht darin, die Komponente in die Verwaltung zu importieren. Importieren Sie die Komponente in die Datei main.js im Ordner src/Resources/app/administration/src/.

Fügen Sie in der Datei snippet-info/index.js den unten genannten Code hinzu.

Wir können den benutzerdefinierten Komponenten Snippets und Stile hinzufügen und müssen sie importieren, um sie im Plugin zu verwenden. Wir können unsere Nachrichten zur Twig-Datei hinzufügen, sie als Vorlage importieren und bei der Komponente registrieren. Die Stile, die wir in der SCSS-Datei hinzugefügt haben, werden in dieser Vorlage verwendet, damit wir gut aussehende Nachrichten in Plugin-Konfigurationen anzeigen können. Unten finden Sie eine Vorlage für eine Twig-Datei.

Jetzt müssen Sie die Administration mit dem Administrations-Build-Befehl erstellen, um die Änderungen zu sehen. Die Plugin-Konfiguration sieht wie im folgenden Screenshot aus. Wenn Sie auf das Snippet „Gehe zu“ klicken, wird zur Bearbeitungsseite des Snippets „ general.message “ weitergeleitet, das wir in den Komponenten-Snippets hinzugefügt haben.

API-Testschaltflächen

Mit den benutzerdefinierten Komponenten können wir API-Testschaltflächen in der Plugin-Konfiguration hinzufügen. Fügen Sie dazu in der Datei config.xml den folgenden Code hinzu.

Importieren Sie in der Datei main.js unter /src/Resources/app/administration/src unseren Komponentenordner.
import ‘.component/api-test’;

Fügen Sie innerhalb der Komponente/api-test/api-test-button.html.twig die Vorlagendatei wie unten beschrieben hinzu

Importieren Sie in der Datei main.js unter /src/Resources/app/administration/src unseren Komponentenordner.
import ‘.component/api-test’;

Fügen Sie innerhalb der Komponente/api-test/api-test-button.html.twig die Vorlagendatei wie unten beschrieben hinzu

Hier sendet die SendGetRequest-Funktion die API-Anfragen und gibt die Antwort zurück. Durch die Überprüfung der Antworten können wir Benachrichtigungen mit den Funktionen createNotificationSuccess oder createNotificationError anzeigen. Wir müssen die Administration mit dem Administrations-Build-Befehl erstellen, um die Änderungen zu sehen.

blog
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.
CEO
Aneesh Sreedharan
Gründer & CEO, 2Hats Logic Solutions
Abonnieren Sie unseren Newsletter
Aneesh ceo

    Bleiben Sie auf dem Laufenden!

    Abonnieren Sie unseren Newsletter und erfahren Sie mehr über die neuesten digitalen Trends.