Zend Navigation: текущая страница - PullRequest
6 голосов
/ 03 июля 2010

Есть метод isActive() в Zend_Navigation. Но он возвращает true для всех элементов в текущем пути (родительский li активен и все дочерние тоже, даже если текущий родительский li).

Существует ли какой-либо метод, например isCurrent(), для определения, является ли текущий пункт меню текущей страницей?

Я просто хотел бы добавить пользовательский атрибут класса к только одному , текущему элементу во всем вложенном дереве ul и li.

Ответы [ 2 ]

7 голосов
/ 22 февраля 2012

проще с:

$activeElement = $view->navigation()->findOneBy('active', 1);

если вы внутри скрипта вида, вы можете использовать:

$activeElement = $this->navigation()->findOneBy('active', 1);
0 голосов
/ 04 июля 2010

Вам нужно будет использовать свой собственный скрипт вида навигации, но это довольно просто. Тогда попробуйте:

$this->navigation()->findActive($this->yourNavContainer);

Это вернет объект, var выгрузит его, и вы увидите нужные данные. Я думаю, что переменная просто называется «страница». Сделайте это до того, как вы построите свое меню, до / после отправки, затем в вашем скрипте просмотра сделайте оператор if, чтобы проверить эту переменную по отношению к текущему зацикленному элементу (я предполагаю, что вы зациклите его в foreach).

...