首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模板覆盖模块中的英语翻译

模板覆盖模块中的英语翻译
EN

Stack Overflow用户
提问于 2015-09-03 08:05:00
回答 1查看 360关注 0票数 1

我需要重写一个类和一个模板。为了实现这一点,我选择创建一个新模块,以便在Prestashop更新时不被阻塞。对于压倒一切的课程,我没有问题。

担心的是在覆盖模板中,字段是英文的,而在我网站的其余部分,它们是法语的(当我卸载模块时,它们会以法语返回)。

在我的模块中,我用这样的方式覆盖模板:

代码语言:javascript
复制
public function hookDisplayOverrideTemplate($params)
    {
        $controllerName = get_class($params['controller']);
        $tpl = $this->local_path . 'override/tpl/' . $controllerName . '.tpl';
        if (file_exists($tpl))
        {
            return $tpl;
        }
        return false;
    }

在我的.tpl文件中,未翻译的字段如下所示:

代码语言:javascript
复制
{l s='Your addresses'}

因此,我尝试将fr.php文件插入到/my_ and / edited /fr.php中,并编辑了它:

代码语言:javascript
复制
<?php
global $_MODULE;
$_MODULE = array();
$_MODULE['<{customaddresses}prestashop>customaddresses_3908e1afa0ff22fbf112aff3c5ba55c1'] = 'Vos adresses';

然后,我修改了.tpl文件:

代码语言:javascript
复制
{l s='Your addresses' mod='customaddresses'}

我的田地还在用英语。有人要提出解决方案吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-04 08:41:49

经过大量的研究,我发现了我的问题。

我的解决方案是:$_MODULE['<{customaddresses}prestashop>address_0f68b904e33d9ac04605aecc958bcf52'] = 'Informations supplémentaires';

我将"customaddresses_“替换为"address_”(我的重写模板)。

我保留了:

代码语言:javascript
复制
{l s='Your addresses' mod='customaddresses'}

更恰当的是,我改变了我的方法hookDisplayOverrideTemplate:

代码语言:javascript
复制
public function hookDisplayOverrideTemplate($params)
{
    $controllerName = get_class($params['controller']);
    $tpl = $this->local_path . 'override/tpl/' . strtolower(str_replace("Controller", "", $controllerName)) . '.tpl';
    if (file_exists($tpl))
    {
        return $tpl;
    }
    return false;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32370174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档