0

コントローラー、レイアウト、カスタム ビュー ヘルパーがあります。通常、コントローラーからデータを渡します。$this->view->foo = 'foo';これは、layout.phtml で取得します。ここでは、$this->navbar();レイアウトでカスタム ビュー ヘルパーを呼び出しています。

fooビュー ヘルパー内でアクセスするにはどうすればよいですか?

<?php
class Zend_View_Helper_Navbar extends Zend_View_Helper_Abstract
{
    public function setView( Zend_View_Interface $view )
    {
        $view = new Zend_View();
        $view->setScriptPath(APPLICATION_PATH . '/views/scripts/partials/');
        $this->_view = $view;
    }

    public function navbar()
    {
            return $this->_view->render('navbar.phtml');
    }

}

これは私のビューヘルパーです

4

2 に答える 2

0

Zend_View_Helper_Navbar は、$view を含む Zend_View_Helper_Abstract を拡張します。あなたがしなければならないことは次のとおりです。

public function navbar()
{
    $this->view->setScriptPath(APPLICATION_PATH . '/views/scripts/partials/');
    $foo = (isset($this->view->foo)) ? $this->view->foo : '';
    // your code using $foo
    return $this->view->render('navbar.phtml');
}
于 2013-10-25T14:10:29.237 に答える