Unterschiedliche Textbausteine pro Saleschannel möglich (in eigenen *.json Dateien)?

Guten Morgen,

wir haben das Problem, dass die Textbausteine aus einem Theme die aus dem anderen überschreiben.

TL/DR:
2 Saleschannels („b2b“ und „b2c“), 2 Snippet-Dateien („b2b.de-DE.json“ und „b2c.de-DE.json“), eine Sprache (Deutsch) - keine Unterscheidung möglich?

Ausführlich Version.

Status quo.
Wir haben zwei Saleschannels („b2c“ und „b2b“).
Es gibt auch zwei Textbausteine Sets, die dem jeweiligen Saleschannel zugewiesen sind.

Die Einstellungen der Saleschannels sind also:
Saleschannel „b2c“:

  • Sprache: Deutsch
  • Textbaustein-Set: BASE de-DE (Standard Set)
  • Theme: „Theme-b2c“

Saleschannel „b2b“:

  • Sprache: Deutsch
  • Textbaustein-Set: B2B de-DE (von uns angelegt, basiert auf messages.de-DE)
  • Theme: „Theme-b2b“

In dem Theme Plugin „Theme-b2b“ haben wir eine Snippet-Datei „B2b.de-DE.json“.

Nun das Problem: die Textbausteine aus der Snippet-Datei „B2b.de-DE.json“ überschreiben Textbausteine auch im B2C Shop.

Beispiel.
In der Snippet-Datei „b2b.de-DE.json“ ist ein Textbaustein definiert:

"checkout": {
        "cartEmpty": "Ihr Anfragekorb ist leer"
}

In der Basis Datei vendor/shopware/storefront/Resources/snippet/de_DE/storefront.de-DE.json ist dieser Textbaustein so definiert:

"checkout": {
        "cartEmpty": "Ihr Warenkorb ist leer"
}

Dennoch erscheint in beiden Shops „Ihr Anfragekorb ist leer“ und nicht, wie gewünscht:

  • in b2c: „Ihr Warenkorb ist leer“
  • in b2b: „Ihr Anfragekorb ist leer“

Kann jemand vielleicht helfen?

Hi,

ich seh das so.
Ein Shop ist nun mal keine Sprache und somit ist de-DE halt de-DE.
Wie wäre es, wenn du deine Textbausteine strukturierst:

"b2c": {
    "checkout": {
        "cartEmpty": "Ihr Warenkorb ist leer"
    }
},
"b2b": {
    "checkout": {
        "cartEmpty": "Ihr Anfragekorb ist leer"
    }
}
...

Dankeschön für die Antwort!

Ja, das wäre eine Möglichkeit. Würde für mich bedeuten, dass man die Templates überschreiben muss, wo die Textbausteine angepasst werden müssen? Dies wollte ich möglichst vermeiden, denn:

  • es gibt nicht immer passende Blöcke, um so wenig wie möglich zu überschreiben
  • man müsste eine ganze Menge überschreiben

Oder gibt es eine andere Möglichkeit und ich sehe sie einfach nicht?

Vielen Dank!