Magento 2がトランザクションメールを送信しているときにインライン翻訳を一時停止するのはなぜですか?


11

Magento 2が送信前にインライン変換を一時停止し、その後再開することで回避しようとしていることは何ですか?

回答:


5

インライン翻訳がアクティブな場合、翻訳可能な印刷されたテキスト(__('Text here'))が通過するため、電子メールの送信時にはインライン翻訳が無効になります。Magento\Framework\Phrase\RendererMagento\Framework\Phrase\Renderer\Inline::render

このメソッドは、テキストの周りにいくつかのマークアップを追加し{{{}}}それを後で解釈してインライン翻訳用の素敵な小さなボタンとポップアップを表示するいくつかのJavaScriptコードによって使用されます。

これは、問題のWebサイトにいて、jsがロードされている場合にのみ機能します。テンプレートは電子メールテンプレートで使用できる
ためphtml、インライン翻訳が有効になっている場合{{{ some text here }}{{ other text here }}}、特別なマークアップが解釈されないため、テキストは電子メールで取得されます。
これはセキュリティ対策であるため、メールのテンプレートを台無しにしないでください


3

インライン変換が許可されている場合、パブリック関数文字列はそれに応じて変換されます。したがって、無効にして後で再開する必要があります。

これにより、不適切に有効化されたインライン変換の問題も防止されます。

インライン翻訳の一時停止機能を追加することは競合に関連していたので、読んでください

https://github.com/magento/magento2/pull/11320

https://www.absolute-design.co.uk/services/magento-ecommerce/how-can-i-fix-magento-translation-conflicts/


私が理解している方法では質問に答えません。
LM_Fielding 2018

私はあなたに私の賛成票を与えました。これがまさにあなたが求めている答えです。あなたはそれが何を避けようとしているのかと尋ねると、彼はそれに対してかなり確かな答えを持っています。理解できないので、単に反対票を投じないでください。
CompactCode 2018

「インライン変換が許可されている場合、パブリック関数の文字列はそれに応じて変換されます。そのため、無効にして後で再開する必要があります。」編集前なので、わからないことについてはコメントしないでください。
LM_Fielding 2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.