{l s ='Accept PayPal'mod ='paypal'}中“ s”的含义是什么

时间:2019-04-18 06:30:20

标签: prestashop prestashop-1.7 smarty3

我是Prestashop的新手。在学习时,我发现了

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

我很好奇 s 在上述声明中的含义。我知道 l 是该语言的意思,但我不知道 s 的含义。

2 个答案:

答案 0 :(得分:2)

s的意思是 string ,是要翻译的字符串。

l()是自定义的Smarty函数,我们在PrestaShop中添加了该函数,以使模板(.tpl文件)可翻译。

我们在/config/smarty.config.inc.php的第86行中对其进行了注册:

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

然后将其添加到\config\smartyfront.config.inc.phpconfig\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文档here中找到更多信息。

答案 1 :(得分:0)

“ s”仅表示“字符串”,而“ l”表示“语言”,所以为什么不使用“ m”代替“ mod”;)