我正在构建一个模块,并且有类似的东西:
$custom_menu = '<ul class="main-menu custom-menu">'.
'<li class="collections">' . $this->l("Collections") . $this->get_collections_menu($collections) . '</li>'.
'<li class="styles">' . $this->l("Styles") . $this->get_styles_menu($collections) . '</li>'.
'<li class="pearls">' . $this->l("Pearls") . $this->get_pearls_menu($collections_category_link) . '</li>'.
'<li class="prices">' . $this->l("Prices") . $this->get_prices_menu($collections_category_link) . '</li>'.
'<li class="categories hide-for-large-up">' . $this->l("Categories") . $this->get_categories_menu() . '</li>'.
'</ul>';
$this->context->smarty->assign('custom_menu', $custom_menu);
一切顺利,菜单会显示出来。我的问题是翻译:我无法在后台找到它们进行编辑。这段代码出了什么问题?
答案 0 :(得分:1)
好的我刚刚找到了解决方案:字符串必须用单引号分隔,而不是双引号。所以不要这样:
'<li class="collections">' . $this->l("Collections") . $this->get_collections_menu($collections) . '</li>'
使用它:
'<li class="collections">' . $this->l('Collections') . $this->get_collections_menu($collections) . '</li>'
换句话说:$this->('your string')
没问题。
然后,您将在“模块翻译”翻译类型下的后台翻译面板上找到要翻译的字段。
无论模块中的哪个位置,您都会放置l()
函数。构造函数,钩子,字符串连接,到处都可以。
答案 1 :(得分:0)
翻译php
$this->l('Text')
翻译tpl
{l s='Text' mod='Name Module'}
在你的情况下
'<li class="collections">{l s='Collections' mod='Name Module'}'