Was versucht Magento 2 zu vermeiden, indem die Inline-Übersetzung vor dem Senden angehalten und danach fortgesetzt wird?
Was versucht Magento 2 zu vermeiden, indem die Inline-Übersetzung vor dem Senden angehalten und danach fortgesetzt wird?
Antworten:
Die Inline-Übersetzung ist beim Senden einer E-Mail deaktiviert, da bei aktiver Inline-Übersetzung jeder übersetzbare gedruckte Text ( __('Text here')
) durchlaufen wirdMagento\Framework\Phrase\RendererMagento\Framework\Phrase\Renderer\Inline::render
Diese Methode fügt einige Markup um den Text {{{
und }}}
das wird später durch einen JavaScript - Code, interpretiert sie und zeigt die netten kleinen Knöpfe und Pop - ups für die Inline - Übersetzung verwendet .... aber ....
Dies funktioniert nur, wenn Sie sich auf der betreffenden Website befinden und js geladen ist.
Da phtml
Vorlagen in E-Mail-Vorlagen verwendet werden können, erhalten Sie bei aktivierter Inline-Übersetzung die Texte in der E-Mail wie {{{ some text here }}{{ other text here }}}
folgt, da das spezielle Markup nicht interpretiert wird.
Dies ist also eine Sicherheitsmaßnahme, damit Sie Ihre E-Mail-Tempaltes nicht vermasseln
Wenn eine Inline-Übersetzung zulässig ist, wird die öffentliche Funktionszeichenfolge entsprechend übersetzt. Sie müssen es also deaktivieren und später fortsetzen.
Dies verhindert auch Probleme mit nicht ordnungsgemäß aktivierter Inline-Übersetzung.
Das Hinzufügen einer Funktion zum Anhalten der Inline-Übersetzung war mit Konflikten verbunden. Bitte lesen Sie: