有没有办法在控制器/动作中禁用视图助手?

时间:2011-11-16 14:23:24

标签: zend-framework view-helpers

我在布局中有我的视图助手,如:

$this->viewSearchForm();

没关系,在所有页面都显示它,但如果有两个或树页我不想显示那个视图助手怎么办?这有可能吗?

类似于动作:

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

2 个答案:

答案 0 :(得分:1)

您可以从控制器(init方法或特定操作)向您的视图传递标记。

在您的布局中,您可以使用类似

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

并从您的控制器发送以下

$this->view->disableSearchForm = true;

答案 1 :(得分:0)

我认为你不能“禁用”一个视图助手。如果您拥有的帮助程序位于特定文件夹中,则解决方法可能是使用setHelperPath()从帮助程序路径中删除该文件夹,但默认视图帮助程序路径永远不会被覆盖。有关详细信息,请参阅Zend_View_Helper documentation

希望有所帮助,