Класс набора меню Zend Navigation появляется между обоими вызовами - PullRequest
1 голос
/ 21 марта 2012

Я настроил zend_navigation для работы с моим массивом пунктов меню и могу вызывать мое меню следующим образом:

echo $this->navigation()->menu();

Однако у меня есть меню и редактор меню на страницепоэтому сделайте два вызова, чтобы сгенерировать еще один ul, который можно переупорядочить как необходимый.

Моя проблема возникает, когда я пытаюсь добавить класс в меню «sortable», используя

->setUlClass('sortable')

который добавляет класс, как и ожидалось, но к обоим вызовов для создания меню.Вызовы следующие:

navigation.phtml:

echo $this->navigation()->menu();

index.phtml

echo $this->navigation()->menu()->setUlClass('sortable');

Ноони оба наследуют класс «sortable».

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

Спасибозаранее!

Ответы [ 2 ]

0 голосов
/ 21 марта 2012

Попробуйте повторить их так:

echo $this->navigation()->menu()->renderMenu();
echo $this->navigation()->menu()->renderMenu(null, array('ulClass' => 'sortable'));
0 голосов
/ 21 марта 2012

Это довольно просто, как описано в блоге этого парня .

Нужно визуализировать второе меню именно так - рендерить его ... Е.Г. сделать это не используйте метод menu () по умолчанию. Таким образом, вы говорите элементу Zend_Navigation «выплевывать» результат, а не рассматривать его как свойство набора для самого себя - если это имеет смысл.

Ключевая часть по ссылке выше - это бит:

$options = array('ulClass' => 'submenu');
echo($this->navigation()->menu()->renderMenu($this->miscnavigation, $options));

Который, в вашем случае, может быть переработан в:

echo($this->navigation()->menu()->renderMenu($this->navigation()->getContainer(), array('ulClass' => 'submenu')));

Что можно использовать по вашему мнению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...