certificatR
Frage
1
von 20
Verbleibende Zeit:
30:00
Wie können Assoziationen über mehrere Ebenen geladen werden (z. B. Bundles -> Products -> Cover)?
$criteria->addAssociation ('products', 'covers');
$criteria->addAssociations(['products', 'covers']);
$criteria->addAssociation('products, covers');
$criteria->addAssociation ('products.covers');
Warum sollte der Data Abstraction Layer (DAL) verwendet werden anstatt direkt mit der Datenbank zu kommunizieren?
Der DAL ist performanter als ein direkter Zugriff auf die Datenbank, da die Namensauflösung gecached wird
Shopware hat eine eigene Datenbankengine, die keine direkte Kommunikation ermöglicht
Der DAL stellt eine generische Schnittstelle dar und ermöglicht es Shopware Abfragen automatisch zu cachen um die Performance zu erhöhen, zudem können Drittentwickler einfacher Entitäten erweitern
Der DAL lädt automatisch alle Assoziationen mit
Was bewirkt das Anlegen und registrieren einer EntityDefinition?
Es wird automatisch eine Datenbanktabelle erzeugt
Es werden automatisch API-Routen ein Repository und die Datenbanktabelle erzeugt
Es wird automatisch eine Entity-Klasse und Entity Collection erzeugt
Es werden automatisch API-Routen und ein Repository erzeugt
Warum ist es wichtig im CartProcessor nur dann Eigenschaften (z. B. Preis oder Label) zu setzen, wenn diese noch nicht definiert sind?
Bei der Neuberechnung von Bestellungen wird der CartProcessor erneut angestoßen und dort sind die meisten Eigenschaften bereits gesetzt
Wenn diese bereits gesetzt sind, führt das Uberschreiben zu einer Exception
Da diese bereits von anderen CartProcessoren gesetzt werden
Um die Schreiboperationen auf der Datenbank zu verringern und damit die Geschwindigkeit des Shops zu erhöhen
Wie wird sichergestellt, dass die Produktdaten für Lineltems (z. B. Preis, Cover, Label), die erst in der collect-Methode im Bundle CartProcessor hinzugefügrt werden, automatisch gesetzt sind?
Indem der BundleCartProcessor (collect) mit einer niedrigeren Priorität getagged wird als der ProductProcessor
Indem der BundleCartProcessor (collect) mit einer höheren Priorität getagged wird als der ProductProcessor
Indem der BundleCartProcessor (collect) mit der gleichen Priorität getagged wird wie der ProductProcessor
Indem der BundleCartProcessor die collect-Methode des ProductProcessors aufruft
Wie registriere ich Textbausteine für die Administration?
In der Komponenten-Registrierung: snippet ('en-GB': importedSnippetFileVar)
In der Komponenten-Registrierung: snippet.addSnippets(en-GB', importedSnippetFileVar)
In der Modul-Registrierung snippet: ['en-GB': importedSnippetFileVar)
In der Modul-Registrierung snippet addSnippets("en-GB', importedSnippetFileVar)
Was bewirkt #content in diesem Konstrukt:
...
Der Inhalt dieses Blocks überschreibt den Inhalt eines Scoped-Slots namens content in sw-my-component
Der Inhalt dieses Blocks bekommt einen HTML-Anchor namens content
Es lädt eine Template-Datei im gleichen Ordner namens content
Der Inhalt dieses Blocks bewirkt nichts, aber stellt einen Scoped-Slot namens content für andere Plugin Entwickler zur Verfügung
Welche Operationen sollten bei Regeln (Rules) nie ausgeführt werden?
Zugriffe auf den Warenkorb
Zugriffe auf das SalesChannelContext-Objekt
Zugriffe auf das Context-Objekt
Zugriffe auf das Dateisystem, die Datenbank oder andere externe Ressourcen
Wie sollte der Preis eines Warenkorbelements verändert werden?
Innerhalb eines eigenen CartProcessors wird ein neues Lineltem mit einem entsprechenden Aufschlag/Rabatt in den Warenkorb gelegt
Per Subscriber auf das EventCheckoutOrderPlaced Event reagieren und den Preis OrderLineltems anpassen
Innerhalb eines eigenen CartCollectors wird der Preis angepasst
Per Subscriber auf das Event LineltemAddedEvent reagieren und den Preis des Lineltems anpassen
Welcher Lifecyclehook wird üblicherweise genutzt um die Daten einer Komponente zu initialisieren?
destroyed()
created()
computed()
mounted()
Welche Datei stellt standardmäßig den Einstieg in die Administration dar?
/src/Resources/app/administration/src/main.js
/src/Core/Administration/index.js
/src/Administration/index.js
/src/Resources/administration/startAdmin.js
Wozu dient die Eigenschaft "path" der Navigation in der Erstellung eines Moduls?
Sie gibt die Startseite meines Moduls bei Klick auf den Menüpunkt an
Sie ist nur für Weiterleitungen ausserhalb von Shopware notwendig
Sie gibt das Ziel jedes Zurück-Buttons meines Moduls an
Sie gibt den Grundpfad der Administration an
this.repository.save(entity, context).then(foo); ist eine Speicherfunktion, die ein Promise zurückgibt. Was bedeutet das?
Nur wenn save() fehlschlägt wird foo ausgeführt.
Die Methode foo wird asynchron zur Methode save ausgeführt.
Erst wenn save() abgeschlossen ist, wird die Methode foo ausgeführt
Die Methode foo wird im save-Request mitgesendet.
In Vue ist die Direktive "v-model" sehr wichtig. Was macht sie?
Sie verknüpft die Komponente mit Dummy-Daten
Sie verknüpft VueJS mit einem Datenbank-Modell
Sie verknüpft das Repository mit dem Modul
Sie verknüpft die Komponente reaktiv mit den Daten für ein 2-Way-Databinding
Wie kann eine EntityDefinition um zusätzliche Assoziationen erweitert werden?
Indem die Entity Definition, die erweitert werden soll, dekoriert wird und man die Methode defineFields() überschreibt
Durch das Anlegen einer Klasse welche die Abstrakte Klasse EntityExtension implementiert und mit dem Tag shopware.entity. extension registriert wird
Es werden automatisch alle Assoziationen registriert und eine explizite Erweiterung ist nicht notwendig
Per Subscriber auf das Event (Entity name) DefinitionEvent reagieren
In welcher Methode des CartProcessors sollten Datenbankabfragen durchgeführt werden?
collect
process
fetch
prepare
Wie sollten zusätzliche Assoziationen in der Storefront (z.B. auf der Produktdetailseite) geladen werden?
Per EventSubscriber auf das kernel.request Event subscriben, die entsprechenden Assoziationen laden und an den Request anhängen
Per EventSubscriber auf das ProductLoaderCriteria Event subscriben und das Criteria entsprechend erweitern
Per EntityExtension die Product-Entität erweitern und das Flag "autoload" auf true setzen
Per EventSubscriber auf das product loaded Event subscriben und die entsprechenden Assoziationen laden
Welche Komponente erleichtert das Erstellen eines Standard-Listings?
sw-entity-listing
sw-one-to-many-grid
sw-grid
sw-standard-listing
Was unterscheidet Component.extend() von Component.override()?
extend() erweitert nur die Methoden einer Komponente, während override() nur die Methoden ersetzt
extend() erstellt eine neue Komponente auf Basis einer vorhandenen, während override() eine vorhandene abändert
override() und extend() machen exakt das Gleiche, nur dass extend() für eine Extension benutzt wird
override() erstellt eine neue Komponente auf Basis einer vorhandenen, während extend() eine vorhandene erweitert
Was ist der Unterschied zwischen repository.search() und repository.get()?
Keiner, die Methoden sind synonym
search() macht eine LIKE-SQL-Abfrage, während get() nur exakte Ergebnisse liefert
Keiner, get() ist nur ein Wrapper für search() der genau ein Ergebnis liefert
search() funktioniert asynchron, während get() immer synchron ist
⬅️ Vorherige Frage
👁️ Antwort anzeigen
Nächste Frage ➡️
📊 Ergebnisse anzeigen
🏠 Quiz beenden