En esta mini-entrada vamos a ver cómo enviar datos desde el controllador a la vista utilizando Yii.
Es muy sencillo, pero es una parte básica para poder realizar aplicaciones en Yii y poder enviar datos entre las capas MVC, en este caso entre la capa Controlador y la capa Vista.
En este ejemplo vamos a ver el controllador de la página principal de una aplicación hecha en Yii, hablamos del index.php que será la página que se va a ver y del controlador del index que es SiteController.php.
Dentro del SiteController.php encontramos esta función ActionIndex() , es la función que vamos a utilizar para enviar datos desde el controllador a la parte visual.
El código sería así:
public function actionIndex() { $this->render('index'); } |
Si queremos enviar datos tenemos en enviarlos en la parte en la que renderizamos el index, de esta manera enviaremos el dato “clave” que tendrá el valor que hayamos escrito en la variable $variable .
public function actionIndex() { $variable= 'La variable que le paso en el controller.'; // renders the view file 'protected/views/site/index.php' // using the default layout 'protected/views/layouts/main.php' $this->render('index', array("laclave"=>$variable)); } |
Con esto enviaremos la varible que contenga la $variable, y se lo enviaremos en “laclave” que este campo será recogido en el index.php como si fuese una variable.
En el index.php la recogeremos (y mostraremos) así:
¿Fácil no? Pues de esta manera podemos enviar todos los datos que queramos desde cualquier controlador a su parte visual.