Shopware Online-Schulung?

Hallo,

kurze Frage: Was ist der Inhalt der Shopware Schulung? Shopware 6 certified Developer - Zertifizierung | Shopware Store

Für mich ist leider nicht ganz ersichtlich, ob das einfach nur das kostenlose Training + Zertifizierung ist, oder ob es sich um eine komplett eigenständige Schulung handelt.

Falls letztes, gibt es eine Übersicht über die genauen Lerninhalte? Ich würde die Schulung gerne kaufen, aber natürlich nur, wenn es sich lohnt.
Danke

Im Prinzip zahlst du für das Zertifikat, meine Meinung.

Ok, danke, also lohnt es sich leider nicht. Wie ich es mir schon dachte.
Eigentlich schade, ich würde für eine gute Online-Schulung gerne das Geld ausgeben. Man findet leider recht wenig bzw. gar nichts zu Shopware. Klar, man kann Symfony lernen, was auch nicht allzu kompliziert ist, aber gerade die Shopware spezifischen Themen sind als Einsteiger nicht so leicht zu durchschauen.

Dann würde sich die Schulung sicherlich lohnen, auch die kostenlosen.

Ist ja nur meine persönliche Meinung, dass das Zertifikat vermutlich das Wesentliche ist.

Wenn du dir einmal das ProductEntity ansiehst, dann hast du eigentlich recht schnell die wesentlichen Zusammenhänge auf einen Blick.

Die kostenlosen Schulungen habe ich schon durch. Was mir beispielsweise momentan schwer fällt ist zu verstehen, welche Services dekoriert werden können bzw. wie genau ich den Service finde, den ich dekorieren muss.

Das Dekorieren ansich ist nicht das Problem, das habe ich verstanden. Mir fehlt der Ansatzpunkt, wie ich die entsprechende Klasse finde, die für das verantwortlich ist, was ich ändern möchte.

Gibt es da irgendwie eine Hilfestellung dazu?

Das „dekorieren“ ist absoluter Mist. Wird so dargestellt, als das es die Lösung schlechthin ist. Häufig gibt es gar keine Decorator für Services. dekorieren ist im Prinzip nix anderes als überschreiben.

Dort nach entsprechendem Code (Service) suchen über die Suche.

Über die Controller siehst du, was aufgerufen wird. Wenn du dem Shop auf dev (in der .env) hast, dann kannst du in der Symfony par den Controller und noch viel mehr sehen.

1 Like

Ok, danke. Das schaue ich mir an.
Mal ganz konkret gefragt: Zur Zeit versuche ich den Preis zu manipulieren. Gedacht habe ich, dass ich dazu den Service für die Preiskalkulation dekorieren könnte. Ist das der falsche Weg? Würdest du eher mit Events/Subscribern arbeiten als mit Service Decorator?

Ein einfacheres Beispiel wäre: Wo bzw. wie könnte ich den Produktnamen manipulieren (z.B. einfach nur den Produktnamen in Großbuchstaben darstellen. Ist natürlich völliger Quatsch, das per Dekorator oder Events zu machen, aber würde mir beim Verstehen helfen).

Das sind mindestens drei verschiedene Konzepte:

  • Service (Symfony) ist eine PHP-Funktion, die x-Mal aufgerufen werden kann. Betriff alle anderen Services, die diesen Service aufrufen.
  • Subscription: wartet, bis eine Event ausgelöst wird und führt dann den angegebenen Code zusätzlich aus
  • Templates: das Aussehen kann man über twig-Templates und CSS manipulieren.

Das dekorieren von Services ist das mächtigste Werkzeug für einen Plugin Hersteller. Damit kannst du quasi jeden Service beliebig überschreiben oder erweitern. Für dein Vorhaben (Name in Großbuchstaben) würden mir direkt zwei Varianten einfallen, die vielleicht nicht am sinnvollsten sind aber definitiv die technischen Möglichkeiten aufzeigen: 1. den service product.repository dekorieren und die product collection in der search Methode anpassen oder 2. das product_loaded Event fangen und dort die Produkte anpassen.

Viele Grüße

1 Like

Ich glaube, dass der Preis mit das komplexeste Konstrukt in Shopware ist. Staffelpreise, Rabatte, Kundengruppen, MwSt., … du musst unterscheiden zwischen dem Preis in der Datenbank und dem CalculatedCheapestPrice (könnte auch leicht anders heißen). Das erstreckt sich über x Services.

Wäre sicherlich sinnvoll, wenn du mit etwas einfachem beginnst bis du dich sicher bist und dann die komplexe Aufgabe angehst. Ist meine subjektive Meinung :wink:

@Max_Shop Ja, genau :slight_smile: Deshalb wollte ich mal mit dem Ändern des Produktnamen anfangen. Das wird auch in einem Video zu Shopware 5 als einfaches Beispiel besprochen. Für Shopware 6 gibt es leider kein Video.
Aber genau wie @EikeBrandtWarneke schon ausführte, sind das genau die beiden Ansatzpunkte, die ich mir schon dachte. Zum einen den Service Decorator und zum anderen das Event. Habt ihr für beides eventuell noch mal kurz einen Ansatzpunkt? Also wie man es genau macht, versuche ich mir natürlich selbst beizubringen. Aber vielleicht habt ihr ein paar Stichworte zu den verschiedenen Dateien / Klassen, die ich dafür nutzen kann?

Würde mir zum Einstieg wirklich sehr weiterhelfen. :slight_smile:
Ich danke euch.

Schau dir die Beispiele in der Doku an und mach die Schulungen mit, dann reichen die Infos aus meinem Beitrag vollkommen aus (Stichwörter product repository oder product loaded event).

Viele Grüße

Für Shopware 6 gibt es ein Video, wie Service Decoration funktioniert. Aber das ist ein theoretisches Beispiel, ohne Bezug auf einen konkreten Shopware Service.

Dein Beispiel mit dem Produktnamen hört sich einfach an, es ist aber wiederum extrem komplex.

Wenn du den Produktnamen immer und überall groß machen möchtest, dann musst du das ProductEntity, dort die getName() Funktion überschreiben. Dafür gibt es aber keine getDecorated. Da musst du die komplette Klasse überschreiben.

Nein, du musst nicht die entity überschreiben, sondern kommst mit den von mir genannten Möglichkeiten zum Ziel.

Viele Grüße