Есть ли способ отключить помощник представления внутри контроллера/действия?

У меня есть помощники по представлению в макете, например:

$this->viewSearchForm();

это нормально, на всех страницах это показано, но что, если есть две или три страницы, где я не хочу показывать этот помощник представления? Это возможно?

что-то вроде действия:

$this->view->disable('viewSearchForm');

person armandfp    schedule 16.11.2011    source источник


Ответы (2)


Вы можете передать флаг своему представлению с вашего контроллера (метод инициализации или конкретное действие).

В вашем макете вы можете иметь что-то вроде

if (!isset($this->disableSearchForm)) {
    echo $this->view->viewSearchForm();
}

и с вашего контроллера отправьте следующее

$this->view->disableSearchForm = true;
person JF Dion    schedule 16.11.2011

Я думаю, вы не можете «отключить» помощника просмотра. Если ваши помощники находятся в определенной папке, обходной путь может состоять в том, чтобы удалить эту папку из пути помощника с помощью setHelperPath(), но путь помощников представления по умолчанию никогда не перезаписывается. См. документацию по Zend_View_Helper. Детали.

Надеюсь, это поможет,

person dinopmi    schedule 16.11.2011