2012-04-07 133 views
0

我想送变量在Zend框架的布局,我尝试创建一个控制器插件,并把它放在注册控制器插件与Zend Framework的前端控制器

​​

,并命名该文件作为layout.php,在这里是从layout.php

class Plugin_Layout extends Zend_Controller_Plugin_Abstract 
{ 
    public function preDispatch(Zend_Controller_Request_Abstract $request) 
    { 
     $layout = Zend_Layout::getMvcInstance(); 
     $view = $layout->getView(); 
     $view->foo = 'bar'; 
    } 
} 

现在我想注册frontController设计插件在application.ini针对我尝试添加代码

includePaths.plugin = APPLICATION_PATH "/plugins" 
autoloaderNamespaces[] = "Plugin_" 
resources.frontController.plugins[] = "Plugin_Layout" 

它向我显示以下错误。

Warning: include_once(Plugin/Layout.php) [function.include-once]: failed to open stream: No such file or directory in /Users/azhararmar/htdocs/joofris/library/Zend/Loader.php on line 146 

我是新来的zend框架。我哪里错了?

回答

2

添加在您的的application.ini

pluginPaths.Plugins = APPLICATION_PATH "/Plugins" 

重命名resources.frontController.plugins[] = "Plugin_Layout"resources.frontController.plugins.Layout = "Plugin_Layout"frontController.plugins[]无论如何都应该工作。

和重命名插件文件夹插件和你layout.php中文件layout.php中,这应该工作。

+0

我需要这个'pluginPaths.Plugins = APPLICATION_PATH“/插件”它现在工作。你:) – 2012-04-08 04:25:35

1

你的路径应该是

includePaths.plugin = APPLICATION_PATH "/Plugins" 

注意是大写P.

+0

尝试过。不工作:( – 2012-04-07 15:18:35

+0

确保你的插件文件夹被称为插件(与大写字母P)。 – vascowhite 2012-04-07 15:42:58

+0

我试过。它没有工作 – 2012-04-07 15:44:14