zend - enviar variable a layout



   AUTOR PREGUNTA

Publicado 25 junio 2014 - 04:45

¿De qué manera puedo enviar una variable al layout con zend framework?


¿Tienes la misma pregunta? Yo también

 

Publicado 25 junio 2014 - 05:23

Sin helpers o plugins lo puedes hacer de la siguiente forma:
Zend_Layout::getMvcInstance()->assign('algo', 'valor');

Luego lo puedes usar en tu layout de la siguiente forma:
<?php echo $this->layout()->algo; ?>

Publicado 25 junio 2014 - 05:27

Creando un view helper te quedaría de la siguiente forma:

class Zend_View_helper_prueba {
static public function prueba() {
$var = 'variable';
return $var; }
}

 

Publicado 25 junio 2014 - 05:29

Con un plugin puedes hacerlo de la siguiente forma:

<?php class Mi_Layout_Plugin extends Zend_Controller_Plugin_Abstract {
public function preDispatch(Zend_Controller_Request_Abstract $request) { $layout = Zend_Layout::getMvcInstance();
$view = $layout->getView();
$view->whatever = 'valor'; } }


Luego debes registrar ese plugin en el controlador de la siguiente forma:

Zend_Controller_Front::getInstance()->registerPlugin(new Mi_Layout_Plugin());

   AUTOR PREGUNTA

Publicado 25 junio 2014 - 06:48

Voy a darle una probada con el plugin, gracias!