Witam.

Nie mogę przebrnąć przez taki problem. Mam marzenie, aby przekazać kontenera np dialogDiv w Layout widok z metody dialog kontrolera nav za pośrednictwem helpera viewRenderer.

Jak renderować automatycznie?

Bardzo proszę o wyjaśnienie - nie mogę jakoś tego ogarnąć.

Pozdrawiam pawella.



index.php
  1. <?php
  2. /* ... */
  3. $options = array(
  4. 'layout'  => 'default',
  5. 'layoutPath' => toroot.'application/layouts',
  6. 'contentKey' => 'CONTENT'
  7. );
  8. Zend_Layout::startMvc($options,true);
  9.  
  10. Zend_Layout::getMvcInstance()->getView()->setScriptPath('./application/views');
  11.  
  12. /* ... */
  13. ?>



application/controllers/IndexController.php
  1. <?php
  2. /* ... */
  3.  public function indexAction()
  4.  {
  5. $this->_helper->viewRenderer->setNoRender(true);
  6.  
  7. $this->_helper->actionStack('dialog','nav'); 
  8.  
  9. $this->initView();
  10. $this->view->pageTitle = 'Zend_Layotu';
  11.  
  12.  }
  13. /* ... */
  14. ?>


application/controllers/navController.php
  1. <?php
  2. /* ... */
  3.  public function dialogAction()
  4.  {
  5.  
  6.  $this->initView();
  7.  $this->view->name;
  8.  $dialogDiv = $this->view->render('nav/dialog.phtml'); // << tutaj nie chciał bym wskazywać szablonu :-(
  9.  $this->_helper->layout->assign('dialogDiv',$dialogDiv);
  10.  
  11.  }
  12. /* ... */
  13. ?>



application/layouts/default.phtml
  1. <div>
  2. <?= $this->layout()->dialogDiv; ?>
  3. </div>


application/views/nav/dialog.phtml
  1. <div>
  2. moje pole dialogowe <?= $this->name; ?>
  3. </div>



[Edit ]
Sorki bezmyślnie wkleiłem Zend_Layout::startMvc
A pytanie nadal aktualne :-(