我想在我们模块的前端添加一些翻译。当翻译在.tpl文件中时,它们会被渲染。但是,后端没有显示翻译字段我的.tpl文件代码是:
{l s="Text" mod="myModule"}
我还需要在FrontControllers中进行一些翻译(主要是错误处理和服务器端验证的反馈)。
在AdminController中,我只使用$this->l('Text');
即可。但是,在FrontController中,这是不可用的。我已经检查了ControllerCore和FrontControllerCore,l()
没有在那些中定义,只在AdminController中可用。
有人能详细解释我需要做什么吗?我在网上的所有研究总是指出$this->l()
是可以使用的东西......
答案 0 :(得分:1)
在tpl文件中使用翻译时,您需要使用单引号而不是双引号。
{l s='Text' mod='myModule'}
对于前端控制器......如果你在扩展ModuleFrontController
的控制器中使用自定义模块控制器,你可以使用
$this->module->l('Text');
如果您不使用这些控制器,那么......开始使用它们。
有些事情可能会有所不同,因为有三十个人是PrestaShop的分支,但我想翻译机制是一样的。