1

プラグインで $this->view->menu = $menu; を試します。、しかし、ビューで私は試して<?php var_dump($this->menu); ?> 取得しますNULL

たぶん、変数をプラグインからビューに渡すための解決策ですか?

4

1 に答える 1

1

以下のように使用できます

最初:ヘルパーやプラグインを使用せずに:

Zend_Layout::getMvcInstance()->assign('whatever', 'foo');

この後、レイアウトで次を使用できます。

<?php echo $this->layout()->whatever; ?>

これにより、「foo」が出力されます。

また

2番 :

<?php

class My_Layout_Plugin extends Zend_Controller_Plugin_Abstract
{
   public function preDispatch(Zend_Controller_Request_Abstract $request)
   {
      $layout = Zend_Layout::getMvcInstance();
      $view = $layout->getView();

      $view->whatever = 'foo';
   }
}

次に、このプラグインをフロントコントローラーに登録します。

Zend_Controller_Front::getInstance()->registerPlugin(new My_Layout_Plugin());
于 2013-07-30T09:39:09.087 に答える