Zend 导航菜单标签中的换行符

发布于 2024-11-15 12:57:12 字数 595 浏览 4 评论 0原文

我需要创建一个
>使用 Zend_navigation 生成的菜单项的显示标签中的标记,但似乎无法找到这样做的方法。

我的导航项在 XML 配置中定义为:

<registermachine>
<label>Register your Slitter Rewinder</label>                   
<controller>service</controller>
<action>register</action>
<route>default</route>
</registermachine>

我想在“your”和“slitter”之间的输出 HTML 中强制使用
标记,以便它显示在两行中,如下所示:

注册您的 分切复卷机

但是,我似乎做不到。显然,在 XML 中使用
会中断解析,并且使用 html 实体意味着标签显示为:

注册您的
Slitter Rewinder

有没有人有这方面的经验可以提供建议?

提前致谢!

I have a need to create a <br/> tag in the display label for a menu item generated using Zend_navigation, but don't seem to be able to find a way to do so.

My navigation item is defined in the XML config as:

<registermachine>
<label>Register your Slitter Rewinder</label>                   
<controller>service</controller>
<action>register</action>
<route>default</route>
</registermachine>

I want to force a
tag in the output HTML between 'your' and 'slitter', such that it appears on two line as below:

Register your
Slitter Rewinder

However, I can't seem to do it. obviously using
in the XML breaks parsing, and using html entities means that the lable is displayed as:

Register your <br/>Slitter Rewinder

Has anyone had experience of this that can offer advice?

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

翻了热茶 2024-11-22 12:57:12

没有这样的内置选项,您必须使用部分

$partial = array('menu.phtml', 'default');
$this->navigation()->menu()->setPartial($partial);
echo $this->navigation()->menu()->render();

http://framework.zend.com/manual/en/zend.view.helpers.html#zend.view.helpers.initial.navigation.menu

您也可以尝试使用

there is no such option built-in you have to use a partial

$partial = array('menu.phtml', 'default');
$this->navigation()->menu()->setPartial($partial);
echo $this->navigation()->menu()->render();

http://framework.zend.com/manual/en/zend.view.helpers.html#zend.view.helpers.initial.navigation.menu

you may also try a hack with <label><![CDATA[Menu label<br/>Second line]]></label>

顾忌 2024-11-22 12:57:12

我找到了一个(hacky)解决方案:

我更新了 navigation.xml 以在需要
标记的地方使用 {br} 标记,然后修改基本 Zend/View/Helper/Navigation/Menu.php 文件如下:

htmlify 函数中,更改

$this->view->escape($label)

str_replace("{br}", "<br/>", $label)

I can (and likely will) override the Zend Library Menu View Helper在某些时候与我自己的,但是这个至少现在覆盖它。

I found a (hacky) solution:

I updated my navigation.xml to use {br} tokens wherever a <br/> tag is required, and then amended the base Zend/View/Helper/Navigation/Menu.php file as follows:

within htmlify function, changed

$this->view->escape($label)

to

str_replace("{br}", "<br/>", $label)

I could (and probably will) override the Zend Library Menu View Helper with my own at some point, but this at least cover it for now.

↘人皮目录ツ 2024-11-22 12:57:12

有一个 escapeLabels 布尔值用于转换 html 标签,默认情况下为 true。

您可以像这样设置导航

$this->navigation()
    ->menu()
    ->escapeLabels(false)
    ->...

http: //framework.zend.com/apidoc/2.0/classes/Zend.View.Helper.Navigation.Menu.html#escapeLabels

there is a escapeLabels boolean used to convert html tags and it's true by default.

You can set your navigation like this

$this->navigation()
    ->menu()
    ->escapeLabels(false)
    ->...

http://framework.zend.com/apidoc/2.0/classes/Zend.View.Helper.Navigation.Menu.html#escapeLabels

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文