Что означает «s» в {l s = 'Accept PayPal' mod = 'paypal'} - PullRequest
0 голосов
/ 18 апреля 2019

Я новичок в Prestashop. Во время обучения я нашел это

{l s='Accept PayPal' mod='paypal'}

Мне любопытно, что означает s в приведенном выше утверждении. Я знаю l для языка, но я не знаю значения s .

Ответы [ 2 ]

2 голосов
/ 19 апреля 2019

s означает строку и является строкой для перевода.

l() - это пользовательская функция Smarty, которую мы добавили в PrestaShop для создания шаблонов(.tpl файлы) переводимые.

Мы зарегистрировали его в /config/smarty.config.inc.php в строке 86:

smartyRegisterFunction($smarty, 'function', 'l', 'smartyTranslate', false);

И затем добавили в \config\smartyfront.config.inc.php и config\smartyadmin.config.inc.php:

function smartyTranslate($params, $smarty)

Можно использовать следующие параметры:


mod Для использования только в файлах шаблонов модулей (.tpl), симя связанного модуля

Пример: {l s='My module text' mod='mymodulename'}


js Для использования в блоках кода JavaScript переведенный контент будет экранирован

Пример: var my_var = '{l s='Delete' d='Admin.Actions' js=1}';


pdf Для использования со ссылкой на файл PDF

Пример: {l s='Note' d='Shop.Pdf' pdf='true'}


d Будетиспользуется со ссылкой на конкретный файл перевода

Пример: {l s='No menu' d='Admin.Advparameters.Feature'}


sprintf Используется, если в переведенной строке есть переменные

Пример:{l s='My variable is %s' sprintf=[$my_var|escape:'html':'UTF-8']}


Более подробную информацию можно найти в документации PrestaShop 1.7 здесь .

0 голосов
/ 18 апреля 2019

«s» означает «строка», а «l» - «язык», так почему бы не использовать «m» вместо «mod»;)

...