Como enviar datos al layout?

Hola, lo que sucede es que necesito enviar desde el action del controller una variable con un dato al layout que se muestra. Yo lo hice creando un atributo en el controller y luego lo leo en el layout con ‘this’ pero me gustaría saber si alguien conoce una forma mas ortodoxa de hacerlo.

Muchas gracias!

Hola, a ver si esto responde tu pregunta.




$ownder = true;

$this->render('home',array(

	'model'=>$this->loadusuario($id),

	'anuncios'=>$anuncios,

	'paginas_anuncios'=>$paginas_anuncios,

	'owner'=>$owner,

));



Tu puedes crear las variables que necesites para tu view en el controller y luego las pasas en el render.

Como puedes ver en mi ejemplo, esta model, anuncios (que es otro model), paginas_anuncios y owner (un simple bool).

En tu view usas tu variable como cualquier otra

En mi caso:




<?php if ($owner): ?>



Saludos!

Hola transistor, lo que sucede es que yo no necesito esa variable en el view sino en el layout.

Sabes como?

Hola

No sé si has encontrado respuesta a tu pregunta.

No había entendido yo que hablabas del layout, no del view.

En el Cookbook encontré algo que te puede servir.

Es para agregar Meta Tags a cada página, dependiendo de la vista, en otras palabras, el controlador envía al layout variables, tal vez te pueda servir la mecánica.

Cookbook: Simplified Meta Tags: http://www.yiiframework.com/doc/cookbook/54/