Translations im Subscriber

Hi,

Kann mir jemand sagen, wie ich den Inhalt der Textbausteine in einem Subscriber abfragen kann?

Der Service Shopware\Core\System\Snippet\SnippetService hat die Funktion findSnippetInDatabase(Criteria $criteria, Context $context). Die Funktion macht aber auch nichts anderes, als die Repo zu durchsuchen. Kannst also über die Repo snippet suchen: $snippetRepository->search($criteria, $context);.
Falls du weitere Funktionen aus dem Service brauchen könntest, dann gehe über den Service.

Ich weiß leider immer noch nicht, wie ich so Werte aus den Snippets übersetzten kann.

Hast du da evtl. ein Beispiel?

Die kann man doch im Adminpanel übersetzen. Verstehe nicht wieso man das in einem Subscriber machen sollte?

Das geht, so wie die Suche, auch über das Repository.

Ich brauche in einem Subscriber die Übersetzung für dynamisch hinzugefügte Komponenten.

Warum nicht die Snippet-Dateien auch dynamisch anlegen?

Wie gesagt, im Prinzip kannst du alles über die Repositories verwalten.

Also mir erschließt sich das nicht wirklich.

Wie nutze ich denn in diesem Fall ein „Criteria“?

Ich kann die Übersetzungen wohl aus der Datenbank ziehen, aber auch erst wenn sie dort vorhanden sind.

Dafür muss ich die Translations in den Textbausteinen erst einmal Speichern.

Das möchte ich aber nicht, es muss doch einen Weg geben die Daten in einem Subscriber zu laden.

welche Daten? Die Daten die nicht vorhanden sind? Sorry, ich verstehe wirklich nicht was du vorhast.

Das habe ich gemerkt.

Ich habe ein Plugin, das hat Snippets, in diesen Snippets stehen die Übersetzungen.

In einem Subscriber füge ich einer Produktdetailseite dynamisch einen CrossSelling Tab hinzu.

Die Bezeichnung dieses Tabs steht als Übersetzung in den Snippets.

Verstehst du was ich meine? Und verstehst du auch das Problem?

 

Wenn ich die Übersetzung aus dem Repo lade, findet er sie erst, wenn sie einmal im Backend bearbeitet wurde, weil sie erst dann in der Datenbank steht.

Ich habe es nun selber hinbekommne.

Der Tip mit den SnippetService war gar nicht so falsch.

 

Danke