certificatR
Frage
1
von 20
Verbleibende Zeit:
30:00
Warum erben Shopware-Plugins von der Plugin-Klasse und nicht direkt von der Symfony-Bundle-Klasse?
Müssen sie nicht. Man kann auch direkt von der Symfony-Bundle-Klasse erben
Um Lifecycle-Methoden bereitstellen zu können
Um die Restriktionen bei der Service-Registrierung von Symfony zu umgehen
Damit Templates aus
\Resources\views geladen werden können
Wie muss eine API-Route für die Admin API aufgebaut sein?
/api/swag-shop-finder/generate
/api/v{version}/_action/swag-shop-finder/generate
/api/v12/_action/swag-shop-finder/generate
/sales-channel-api/swag-shop-finder/generate
Wie sollten Produktdaten aus der DB gelesen werden?
SQL Query "SELECT * FROM product"
Über Doctrine ORM
Durch Nutzung des DBAL-QueryBuilders
Über das entsprechende Repository
In welchem Ordner liegen die Plugins?
platform/src/Core/Plugin/
custom/plugins/
platform/plugins/
public/plugins/
Wie macht man seine Plugin-Basis-Klasse für Shopware bekannt?
Gar nicht, es reicht wenn sie von "Plugin" erbt und Shopware erkennt dies automatisch
Durch den Eintrag "shopware-plugin-class" in der "plugin.xml"
Durch die Ausführung von "composer require
" vor der Installation des Plugins
Durch den Eintrag "shopware-plugin-class" in der composer.json" im Bereich "extra"
Wie sollten eigene Datenbank-Tabellen angelegt werden?
Über Migrations
Durch SQL-Queries in der Install-Methode
Plugins dürfen keine eigenen Tabellen anlegen
table_name.sql Datei unter
\Resources\migration anlegen
Wofür wird die StorefinderEntity benötigt?
Sie beinhaltet mehrere Storefinder und kann wie ein Array benutzt werden
Sie definiert die Übersetzungen der Storefinder
Sie definiert, wie die Entity in der Datenbank abgebildet ist
Als Value-Object, das beim Lesen der Entity befüllt wird
Wie liest man Plugin-configs aus?
Mit dem SystemConfigService
Über die DBAL/Connection aus s_core_config lesen
Die Datei Resources/config/config.xml auslesen
Mittels Doctrine/ORM
Auf welche Klassen-Methoden-Kombination kann man einen Hook setzen?
Es können grundsätzlich keine Hooks eingesetzt werden
Grundsätzlich alle Repository-Klassen
Storefront Services
Core/Checkout Services
Wie registriert man einen Event-Subscriber?
In der
\Resources\config\services.xml mit dem Tag "kernel.event_subscriber"
Eintrag in der config.php
Eintrag in der config.xml
SQL Insert in die "kernel_subscriber"-Tabelle
Was macht folgender Befehl: "bin/console plugin --activate SwagBundleExample"?
Installiert und aktiviert das Plugin SwagBundleExample
Zeigt Meta-Infos zum Plugin SwagBundleExample
Installiert das Plugin SwagBundleExample
Deinstalliert das Plugin SwagBundleExample
Wozu dient der "EntityIdTrait"?
EntityDefinitions müssen von ihm erben
Er stellt Getter- und Setter-Methoden für die ID von Entities bereit
In Shopware 6 werden keine Traits verwendet
Er muss in jeder Entity eingebunden werden
Was ist keine Lifecycle-Methode eines Plugins?
activate
refresh
uninstall
update
Wie werden neue Services in einem Plugin hinzugefügt?
Eintrag in
\services.json hinzufügen
Eintrag in
\Resources\config\services.xml hinzufügen
Services werden automatisch registriert, wenn sie im Ordner
\Components liegen
$this->registerService() in der Install-Methode aufrufen
Wo definiert man sein Plugin config?
Die Klasse PluginConfigInitializer.php erweitern
settings.xml im Plugin-Root-Ordner
Neuer Eintrag in der "system_config"-Tabelle
/Resources/config/config.xml
Welcher Type muss in der composer.json für ein Plugin angegeben werden?
symfony-bundle
shopware-6-plugin
shopware-platform-plugin
plugin
In welcher Datei stehen Plugin-Meta-Informationen?
plugin.xml
composer.json
In der Plugin-Basis-Klasse
plugin.yml
Wie erweitert man ein Storefront Template über das Vererbungssystem?
{% extend '@Storefront/…' %}
{% link '@Storefront/…' %}
{% import '@Storefront/…' %}
{% sw_extends '@Storefront/storefront/…' %}
Wie wird bei der Deinstallation eines Plugins verhindert, dass die Plugindaten gelöscht werden?
saveData in der config.cml auf true setzen
Nicht möglich
Durch Nutzung der saveUninstall() Methode
Durch Prüfung auf keepUserData im Uninstall-Context
Wofür wird die StorefinderDefinition benötigt?
Definiert die Übersetzungen der Storefinder
Value Object, das beim Lesen der Entity befüllt wird
Macht die Tabelle dem DAL bekannt und definiert, wie die Entity abgebildet ist
Beinhaltet mehrere Storefinder und kann wie ein Array benutzt werden
⬅️ Vorherige Frage
👁️ Antwort anzeigen
Nächste Frage ➡️
📊 Ergebnisse anzeigen
🏠 Quiz beenden