0

コントローラープラグインを作成して配置したzendフレームワークのレイアウトに変数を送信したかった

application
    /plugins

ファイルにという名前を付けました。これ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';
   }
}

今、私はプラグインをフロントコントローラーに登録したいと思いまし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フレームワークを初めて使用します。どこが間違っているのですか?

4

2 に答える 2

2

application.iniを追加します:

pluginPaths.Plugins = APPLICATION_PATH "/Plugins"

名前を変更resources.frontController.plugins[] = "Plugin_Layout"resources.frontController.plugins.Layout = "Plugin_Layout"ますが、frontController.plugins[]とにかく機能するはずです。

プラグインフォルダの名前をPluginsに、layout.phpファイルの名前をLayout.phpに変更すると、これが機能するはずです。

于 2012-04-07T15:36:56.567 に答える
1

あなたの道は

includePaths.plugin = APPLICATION_PATH "/Plugins"

大文字のPに注意してください。

于 2012-04-07T14:47:47.970 に答える