# Shopware Online-Schulung?

**URL:** https://forum.shopware.com/t/shopware-online-schulung/92552
**Category:** Allgemein
**Created:** [24. Januar 2022 um 16:27 UTC](https://forum.shopware.com/t/shopware-online-schulung/92552 "2022-01-24T16:27:27Z")
**Posts on this page:** 14
**Page:** 1

<div class="post-metadata">

### Author: ![hardy123480](https://avatars.discourse-cdn.com/v4/letter/h/ea5d25/32.png) [@hardy123480](https://forum.shopware.com/u/hardy123480)
#### Post date: [24. Januar 2022 um 16:27 UTC](https://forum.shopware.com/t/shopware-online-schulung/92552/1 "2022-01-24T16:27:28Z")

</div>

Hallo,

kurze Frage: Was ist der Inhalt der Shopware Schulung? [Shopware 6 certified Developer - Zertifizierung | Shopware Store](https://store.shopware.com/examination-10/shopware-6-certified-developer-zertifizierung.html?c=1088)

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

---

<div class="post-metadata">

### Author: ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)
#### Post date: [25. Januar 2022 um 10:15 UTC](https://forum.shopware.com/t/shopware-online-schulung/92552/2 "2022-01-25T10:15:05Z")

</div>

> **[Schulungen | Shopware (DE)](https://www.shopware.com/de/academy/live-schulungen/)**
>
> Shopware ist eine modulare Onlineshop-Software, mit der Sie schnell und einfach einen eigenen und professionellen Online-Shop erstellen können.

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

---

<div class="post-metadata">

### Author: ![hardy123480](https://avatars.discourse-cdn.com/v4/letter/h/ea5d25/32.png) [@hardy123480](https://forum.shopware.com/u/hardy123480)
#### Post date: [25. Januar 2022 um 14:32 UTC](https://forum.shopware.com/t/shopware-online-schulung/92552/3 "2022-01-25T14:32:43Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)
#### Post date: [25. Januar 2022 um 18:39 UTC](https://forum.shopware.com/t/shopware-online-schulung/92552/4 "2022-01-25T18:39:40Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![hardy123480](https://avatars.discourse-cdn.com/v4/letter/h/ea5d25/32.png) [@hardy123480](https://forum.shopware.com/u/hardy123480)
#### Post date: [25. Januar 2022 um 19:31 UTC](https://forum.shopware.com/t/shopware-online-schulung/92552/5 "2022-01-25T19:31:44Z")

</div>

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?

---

<div class="post-metadata">

### Author: ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)
#### Post date: [25. Januar 2022 um 20:03 UTC](https://forum.shopware.com/t/shopware-online-schulung/92552/6 "2022-01-25T20:03:20Z")

</div>

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.

> **[GitHub - shopware/platform: Shopware 6 is an open commerce platform based on...](https://github.com/shopware/platform)**
>
> Shopware 6 is an open commerce platform based on Symfony Framework and Vue and supported by a worldwide community and more then 1.500 community extensions - GitHub - shopware/platform: Shopware 6 i...

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.

---

<div class="post-metadata">

### Author: ![hardy123480](https://avatars.discourse-cdn.com/v4/letter/h/ea5d25/32.png) [@hardy123480](https://forum.shopware.com/u/hardy123480)
#### Post date: [26. Januar 2022 um 14:29 UTC](https://forum.shopware.com/t/shopware-online-schulung/92552/7 "2022-01-26T14:29:28Z")

</div>

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).

---

<div class="post-metadata">

### Author: ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)
#### Post date: [26. Januar 2022 um 15:00 UTC](https://forum.shopware.com/t/shopware-online-schulung/92552/8 "2022-01-26T15:00:20Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)
#### Post date: [26. Januar 2022 um 15:01 UTC](https://forum.shopware.com/t/shopware-online-schulung/92552/9 "2022-01-26T15:01:59Z")

</div>

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

---

<div class="post-metadata">

### Author: ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)
#### Post date: [26. Januar 2022 um 15:10 UTC](https://forum.shopware.com/t/shopware-online-schulung/92552/10 "2022-01-26T15:10:10Z")

</div>

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 😉

---

<div class="post-metadata">

### Author: ![hardy123480](https://avatars.discourse-cdn.com/v4/letter/h/ea5d25/32.png) [@hardy123480](https://forum.shopware.com/u/hardy123480)
#### Post date: [26. Januar 2022 um 17:15 UTC](https://forum.shopware.com/t/shopware-online-schulung/92552/11 "2022-01-26T17:15:59Z")

</div>

@Max_Shop Ja, genau 🙂 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. 🙂  
Ich danke euch.

---

<div class="post-metadata">

### Author: ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)
#### Post date: [26. Januar 2022 um 17:28 UTC](https://forum.shopware.com/t/shopware-online-schulung/92552/12 "2022-01-26T17:28:56Z")

</div>

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

---

<div class="post-metadata">

### Author: ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)
#### Post date: [26. Januar 2022 um 17:30 UTC](https://forum.shopware.com/t/shopware-online-schulung/92552/13 "2022-01-26T17:30:55Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)
#### Post date: [26. Januar 2022 um 18:26 UTC](https://forum.shopware.com/t/shopware-online-schulung/92552/14 "2022-01-26T18:26:39Z")

</div>

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

Viele Grüße
