Разрывы строк в ярлыках Zend Navigation Menu - PullRequest
0 голосов
/ 14 июня 2011

Мне нужно создать тег
в отображаемой метке для пункта меню, созданного с использованием Zend_navigation, но, похоже, я не могу найти способ сделать это.

Мой элемент навигации определен в конфигурации XML как:

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

Я хочу принудительно вставить тег
в выходной HTML-код между 'your' и 'slitter', чтобы он отображался в две строки, как показано ниже:

Зарегистрируй свой Slitter Rewinder

Однако я не могу этого сделать. очевидно, использование
в разборе XML-разрыва, а использование html-сущностей означает, что метка отображается как:

Зарегистрируйте
перемоточный станок Slitter

Кто-нибудь имел опыт этого, который может дать совет?

Заранее спасибо!

Ответы [ 3 ]

1 голос
/ 14 июня 2011

нет такой встроенной опции, вы должны использовать частичный

$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

, вы также можете попробовать взломать с <label><![CDATA[Menu label<br/>Second line]]></label>

0 голосов
/ 26 апреля 2013

есть логическое значение escapeLabels, используемое для преобразования html-тегов, и по умолчанию оно имеет значение.

Вы можете настроить свою навигацию следующим образом

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

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

0 голосов
/ 16 июня 2011

Я нашел (хакерское) решение:

Я обновил файл navigation.xml, чтобы использовать маркеры {br} везде, где требуется тег <br/>, а затем изменил базовый файл Zend/View/Helper/Navigation/Menu.php следующим образом:

в функции htmlify, изменено

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

до

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

В какой-то момент я мог (и, вероятно, буду) переопределять помощника по просмотру меню библиотеки Zend своим собственным, но это по крайней мере пока.

...