禁用 Zend_Navigation 元素的翻译
有没有简单的方法来禁用某些 Zend Navigation 元素的翻译?
例如在这种情况下
$page = new Zend_Navigation_Page_Mvc(
array(
'label' => $blogPost->alreadyTranslatedTitleFromDb
// ...
)
);
$container->addPage($page);
现在,当我使用:
$page->getLabel();
标签被翻译两次。面包屑、站点地图等也是如此。
Is there any easy way to disable translation of some of the Zend Navigation elements?
e.g. in this case
$page = new Zend_Navigation_Page_Mvc(
array(
'label' => $blogPost->alreadyTranslatedTitleFromDb
// ...
)
);
$container->addPage($page);
Now, when I use:
$page->getLabel();
the label is translated twice. The same for breadcrumbs, sitemaps etc.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我为此编写了一个带有单元测试的补丁:
I wrote a patch with unit tests for this:
如果您只想禁用某些特定元素,我认为唯一的方法是使用部分视图脚本并为菜单创建您自己的逻辑。
您可以向页面添加自定义属性。示例:添加属性 doNotTranslate 并在视图脚本中检查此属性以确定是否应翻译元素。
有关部分视图脚本的更多信息,请访问 http://framework.zend.com/manual/en/zend.view.helpers.html#zend.view.helpers.initial.navigation.menu
If you want only some specific elements to be disabled, i think that only way is to use a partial view script and create your own logic for the menu.
You may add custom properties to the pages. Example: add a property doNotTranslate and in your view script check for this property to know if element should be translated or not.
More info about partial view script is available at http://framework.zend.com/manual/en/zend.view.helpers.html#zend.view.helpers.initial.navigation.menu