Как зарегистрировать страницу без меню в Zend_Navigation? - PullRequest
0 голосов
/ 25 октября 2010

У меня есть страница с отказом в доступе, которая не должна отображаться в меню.Тем не менее, пользователь может быть перенаправлен на страницу отказа в доступе.

У меня также есть раздел "хлебные крошки" на странице, и если вы перейдете на страницу отказа в доступе, она будет отображаться пустой, что крайненекрасиво.

Поэтому я хотел бы зарегистрировать страницу, но не отображать ее в меню.Я попытался установить для свойства visible значение false, но при этом хлебные крошки по-прежнему не отображаются правильно (хотя элемент удаляется из меню)

Как зарегистрировать страницу, но не показать ее в меню?

1 Ответ

2 голосов
/ 25 октября 2010

Вы можете добавить меню в любое время и настроить хлебные крошки для отображения также невидимых страниц:

echo $this->navigation()->breadcrumbs()->setRenderInvisible(true)

Другой метод - не добавлять страницу в меню постоянно, а использовать init() метод errorController для добавления страницы (поэтому он добавляется только тогда, когда это необходимо):

controller ErrorController extends Zend_Controller_Action
{
    public function init ()
    {
        $params = array(); // Add here the options you want
        $page = new Zend_Navigation_Page($params);

        $container = $this->view->navigation()->getContainer();
        $container->addPage($page);
    }
}
...