Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Zend框架中修改来自Action Helper的视图_Php_Zend Framework - Fatal编程技术网

Php 在Zend框架中修改来自Action Helper的视图

Php 在Zend框架中修改来自Action Helper的视图,php,zend-framework,Php,Zend Framework,我想在preDispatch()方法中修改Zend Framework中Action Helper的视图。 所以我做了一些类似的事情: class MyHelper extends Zend_Controller_Action_Helper_Abstract { public function preDispatch() { $view = $this->getActionController()->view; $view->doSome

我想在preDispatch()方法中修改Zend Framework中Action Helper的视图。 所以我做了一些类似的事情:

class MyHelper extends Zend_Controller_Action_Helper_Abstract {
    public function preDispatch() {
        $view = $this->getActionController()->view;
        $view->doSomething();
    }
}
这样做可以吗?我想做的是-MyHelper需要根据用户区域设置调整模板的一些路径(在本例中,视图是SmartyView),因此我希望在我的操作助手中读取用户区域设置,然后相应地调整视图

我现在就在这里,还是应该走另一条路

谢谢

您可以使用ActionHelper来完成。但是你必须明确地称之为。中不存在
preDispatch
回调方法。如果要使用dispatch回调,您需要查找一个


另一种方法是在初始化
Zend_视图之前在引导程序中初始化。然后,您可以在初始化
Zend_View
时获取区域设置,并在引导过程中直接调整路径,而不是在分派周期中。请参阅上的示例以了解想法。

我以前在引导中使用过Zend_语言环境,但路径调整不仅取决于语言环境,还可能取决于请求参数,因此在引导中这样做可能不是最好的方法。。。我将尝试使用控制器插件,谢谢!如何从Zend控制器插件访问视图对象?不知怎的,我在插件对象的任何地方都看不到它…@Laimoncijus你可以做
Zend\u布局::getMvcInstance()->getView()