问题描述
||
我需要在显示标签中为使用Zend_navigation生成的菜单项创建一个
标记,但是似乎无法找到一种方法。 我的导航项在XML配置中定义为:
分切机 有没有人有经验可以提供建议? 提前致谢!
标记,但是似乎无法找到一种方法。 我的导航项在XML配置中定义为:
<registermachine>
<label>Register your Slitter Rewinder</label>
<controller>service</controller>
<action>register</action>
<route>default</route>
</registermachine>
我想在\'your \'和\'slitter \'之间的输出HTML中强加一个标签,这样它就会出现在两行中,如下所示:
注册你的
分切机
但是,我似乎无法做到。显然,在XML中使用会中断解析,而使用html实体则意味着该标签显示为:
注册您的分切机 有没有人有经验可以提供建议? 提前致谢!
解决方法
没有内置的这种选项,您必须使用部分
$partial = array(\'menu.phtml\',\'default\');
$this->navigation()->menu()->setPartial($partial);
echo $this->navigation()->menu()->render();
http://framework.zend.com/manual/zh/zend.view.helpers.html#zend.view.helpers.initial.navigation.menu
您也可以尝试使用<label><![CDATA[Menu label<br/>Second line]]></label>
, 我发现了一个(hacky)解决方案:
我更新了navigation.xml以在需要required4ѭ标记的任何地方使用{br}
令牌,然后按如下所示修改了基本Zend/View/Helper/Navigation/Menu.php
文件:
在htmlify
功能内,已更改
$this->view->escape($label)
至
str_replace(\"{br}\",\"<br/>\",$label)
在某些时候,我可以(可能会)用我自己的Zend Library Menu View Helper覆盖它,但这至少现在已经涵盖了。
, 有一个escapeLabels布尔值,用于转换html标签,默认情况下为true。
您可以这样设置导航
$this->navigation()
->menu()
->escapeLabels(false)
->...
http://framework.zend.com/apidoc/2.0/classes/Zend.View.Helper.Navigation.Menu.html#escapeLabels