2012-04-12 2 views
0

Я хочу отправить некоторые данные из Action Helper для просмотра Partial, и я не могу это сделать, чтобы получить четкое изображение. вот весь связанный код, который я использую.отправка данных из помощника действий в частичный вид

в моем layout.phtml Я использую этот заполнитель. для создания меню навигации onDemand.

<?php echo $this->placeholder('action-navigation'); ?> 

поэтому, когда мне это нужно в контроллере или методе действий, я могу просто использовать этот код.

$this->_helper->navigation()->renderActionNavigation(); 

Помощник по действию я использую есть.

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 как я это сделать?

спасибо.

ответ

1

Использование partial() вместо render():

$this->_view->partial('partials/_action-navigation.phtml', array('nav' => $container)); 

И в вашем парциальное:

$this->nav // to get your container 
+0

это работает. большое спасибо @Liyali :) –

Смежные вопросы