1

我对 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 到我想要的地方。它出现并且可以工作,但是翻译存在巨大问题 - 在将其粘贴到来自 blockuserinfo 的 header.tpl 数据更改为英文后,我无法更改这些文本的语言(即使在切换语言之后)。在管理面板 > 模块翻译中,blockuserinfo 下有用于登录和注销的 MISSING 变量。

如何修复它?

4

1 回答 1

1

PS 中的模块翻译根据模块名称工作。就像如果您检查代码一样,您将拥有静态字符串,例如

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

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

{l s='View my customer account'} 

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

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

希望这会对您有所帮助。

谢谢

于 2013-03-25T09:54:54.877 回答