Почему Magento 2 приостанавливает встроенный перевод при отправке транзакционного электронного письма?


11

Чего Magento 2 пытается избежать, приостановив встроенный перевод до его отправки, а затем возобновив после?

Ответы:


5

Встроенный перевод отключен при отправке электронного письма, потому что, когда встроенный перевод активен, любой переводимый печатный текст ( __('Text here')) проходитMagento\Framework\Phrase\RendererMagento\Framework\Phrase\Renderer\Inline::render

Этот метод добавляет некоторую разметку вокруг текста {{{и }}}который впоследствии используются некоторым яваскрипт код , который интерпретирует их и показывает кнопку маленькой приятной и всплывающие окна для однострочного перевода .... но ....

Это работает, только если вы находитесь на веб-сайте, о котором идет речь, и что 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

Я дал тебе мой голос. Это именно тот ответ, который вы ищете. Вы спрашиваете, чего он пытается избежать, и у него есть довольно солидный ответ на это. Не просто понизить голос, потому что вы не понимаете.
— CompactCode

«Когда разрешен встроенный перевод, общедоступная строка функции будет переведена соответствующим образом. Поэтому вам нужно отключить ее и возобновить позже». Предварительно отредактируйте, поэтому не комментируйте вещи, которые вы не понимаете.
— LM_Fielding
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.