使用prestashop 1.4.8,PHP 5.3我想在模块中执行此操作。
$myVar = 'Vincent';
echo $this->l($myVar);
我不知道为什么它不起作用,与
的“真实”区别是什么echo $this->l('Vincent')
我需要这样做,因为标签来自我自己的模块配置系统中的XML文件。
任何想法?
谢谢大家。
答案 0 :(得分:2)
您好,
如果您想在PrestaShop中翻译某些内容,则必须使用l函数。
这:
$fieldToTranslate = $this->l('My Text to translate');
echo $fieldToTranslate;
类似于:
echo $this->l('My Text to translate');
使用echo时,您应该看到翻译的字符串...取决于所选语言..
如果它不起作用,那么你应该检查l函数是否可用于你的模块......你是否继承了正确的类?等
希望这有帮助,
BR,
答案 1 :(得分:0)
你试过这个吗?
$myVar = 'Vincent';
echo $this->l($myVar, 'your module name');
答案 2 :(得分:0)
有点晚了,但这是我的2美分。
原因是,Prestashop期望一个文字字符串。将变量传递给prestashops翻译函数是没有意义的。如果要翻译的单词可能是任何字符串,翻译模块将如何知道要使用哪种翻译?
我猜这也是双引号字符串不起作用的原因......它们可能包含变量。