Magento 2が送信前にインライン変換を一時停止し、その後再開することで回避しようとしていることは何ですか?
Magento 2が送信前にインライン変換を一時停止し、その後再開することで回避しようとしていることは何ですか?
回答:
インライン翻訳がアクティブな場合、翻訳可能な印刷されたテキスト(__('Text here')
)が通過するため、電子メールの送信時にはインライン翻訳が無効になります。Magento\Framework\Phrase\RendererMagento\Framework\Phrase\Renderer\Inline::render
このメソッドは、テキストの周りにいくつかのマークアップを追加し{{{
、}}}
それを後で解釈してインライン翻訳用の素敵な小さなボタンとポップアップを表示するいくつかのJavaScriptコードによって使用されます。
これは、問題のWebサイトにいて、jsがロードされている場合にのみ機能します。テンプレートは電子メールテンプレートで使用できる
ためphtml
、インライン翻訳が有効になっている場合{{{ some text here }}{{ other text here }}}
、特別なマークアップが解釈されないため、テキストは電子メールで取得されます。
これはセキュリティ対策であるため、メールのテンプレートを台無しにしないでください
インライン変換が許可されている場合、パブリック関数文字列はそれに応じて変換されます。したがって、無効にして後で再開する必要があります。
これにより、不適切に有効化されたインライン変換の問題も防止されます。
インライン翻訳の一時停止機能を追加することは競合に関連していたので、読んでください