Prestashop - blockuserinfo position&翻译

时间:2013-03-24 21:41:09

标签: smarty prestashop

我遇到了blockuserinfo模块的问题。它根据布局显示在最佳位置。所以我想把它搬到不同的地方。所以我做了以下事情 - 来自blockuserinfo.tpl我复制了元素:

{if $logged}
<a href="{$link->getPageLink('my-account', true)}" title="{l s='View my customer account' mod='blockuserinfo'}" class="account" rel="nofollow"><span>{$cookie->customer_firstname} {$cookie->customer_lastname}</span></a>
<a href="{$link->getPageLink('index', true, NULL, "mylogout")}" title="{l s='Log me out' mod='blockuserinfo'}" title="{l s='Log out' mod='blockuserinfo'}" class="logout" rel="nofollow">{l s='Log out' mod='blockuserinfo'}</a>
  {else}
<a href="{$link->getPageLink('my-account', true)}" title="{l s='Login to your customer account' mod='blockuserinfo'}" class="login" rel="nofollow">{l s='Log in' mod='blockuserinfo'}</a>
  {/if}

并粘贴到header.tpl到我想要的地方。它看起来和工作但是翻译存在巨大的问题 - 在将其粘贴到header.tpl之后,来自blockuserinfo的数据变为英语,我无法改变这些文本的语言(甚至在切换之后)。在管理员面板中&gt;模块转换在blockuserinfo下有登录和注销的MISSING变量。

如何报道?

1 个答案:

答案 0 :(得分:1)

PS for Module中的翻译正在根据模块名称进行操作。就像检查代码一样,您将拥有静态字符串,如

{l s='View my customer account' mod='blockuserinfo'} 

mod ='blockuserinfo'告诉PS翻译系统获取该模块行的翻译。因此,您需要做的是从header.tpl文件中复制的代码中的所有文本中删除部分mod ='blockuserinfo'。请注意,所有文本都应该像

{l s='View my customer account'} 

之后转到管理面板,然后翻译部分然后转到前端翻译。找到header.tpl部分并再次输入所需文本的翻译。

再次注意,如果从文件或模块移动文本,则其翻译将不起作用,因为在获取翻译文本时,PS会根据文件名或模块名称查找翻译。

希望这会对你有帮助。

谢谢