我想从Action Helper发送一些数据来查看Partial,我无法做到,以获得清晰的图片。这是我正在使用的所有相关代码。
在我的layout.phtml
我正在使用此占位符。生成onDemand导航菜单。
<?php echo $this->placeholder('action-navigation'); ?>
所以当我在我的控制器或动作方法中需要它时,我可以简单地使用此代码。
$this->_helper->navigation()->renderActionNavigation();
我正在使用的Action助手是。
class Zend_Controller_Action_Helper_Navigation extends Zend_Controller_Action_Helper_Abstract
{
private $_view = null;
public function direct()
{
$this->_view = $view = Zend_Layout::getMvcInstance()->getView();
$this->_view->placeholder('action-navigation');
return $this;
}
public function renderActionNavigation()
{
$config = new Zend_Config_Xml(
APPLICATION_PATH.'/configs/navigation.xml', strtolower(
$this->getRequest()->getControllerName().
$this->getRequest()->getActionName()
)
);
$container = new Zend_Navigation($config);
// here i want to send $container to _action-navigation.phtml.
$this->_view->addScriptPath(APPLICATION_PATH.'/layouts/')->render('partials/_action-navigation.phtml');
}
}
这是我的部分_action-navigation.phtml
$this->placeholder('action-navigation')->captureStart();
//i want to get zend_navigation instance. from the above action helper here.
$this->placeholder('action-navigation')->captureEnd();
我有问题从动作助手发送数据到部分视图_action-navigation.phtml
我该怎么做?
谢谢。
答案 0 :(得分:1)
使用partial()
代替render()
:
$this->_view->partial('partials/_action-navigation.phtml', array('nav' => $container));
在你的部分:
$this->nav // to get your container