prestashop $ this-> l

时间:2012-07-18 16:08:32

标签: php localization prestashop

使用prestashop 1.4.8,PHP 5.3我想在模块中执行此操作。

$myVar = 'Vincent';
echo $this->l($myVar);

我不知道为什么它不起作用,与

的“真实”区别是什么
echo $this->l('Vincent')

我需要这样做,因为标签来自我自己的模块配置系统中的XML文件。

任何想法?

谢谢大家。

3 个答案:

答案 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翻译函数是没有意义的。如果要翻译的单词可能是任何字符串,翻译模块将如何知道要使用哪种翻译?

我猜这也是双引号字符串不起作用的原因......它们可能包含变量。