sábado, 20 de julio de 2013

Creando nuevas vistas para el controlador con Zend Framework 2 paso a paso


En el capítulo anterior vimos el modo de crear un nuevo controlador al que llamamos "demo", este controlador está asociado a una vista llamada index, recuerden que las vistas de este controlador se almacenan en la carpeta ...

-view
    -application
           -demo

Creando nuevas vistas para el controlador con Zend Framework 2 paso a paso


Ahora nosotros vamos a ver como asociar nuevas vistas para nuestro controlador "demo", en el ejercicio vamos a crear tres links a modo de menú que incluiremos a cada una de las vistas que nos llevarán a la vista seleccionada.

Primero vamos a modificar el html de la vista index.phtml que ya tenemos, copia y pega el siguiente código ...

<h1>Te encuentras en la vista index</h1>
<label>Selecciona una vista ...</label>
<ul>
<li><a href="http://tutorial-zend.localhost/application/demo/index">vista index</a>
<li><a href="http://tutorial-zend.localhost/application/demo/fotos">vista fotos</a>
<li><a href="http://tutorial-zend.localhost/application/demo/musica">vista musica</a>
</ul>

Como se puede ver los links apunta a dos nuevas vistas fotos y musica, estas vistas aun no están disponibles así que empecemos creando la vista fotos, crear un archivo llamado fotos.phtml y guárdalo con el siguiente código ...

<h1>Te encuentras en la vista fotos</h1>
<label>Selecciona una vista ...</label>
<ul>
<li><a href="http://tutorial-zend.localhost/application/demo/index">vista index</a>
<li><a href="http://tutorial-zend.localhost/application/demo/fotos">vista fotos</a>
<li><a href="http://tutorial-zend.localhost/application/demo/musica">vista musica</a>
</ul>

Y a continuación creamos la vista musica.phtml del mismo modo, copia y pega el siguiente código ...

<h1>Te encuentras en la vista musica</h1>
<label>Selecciona una vista ...</label>
<ul>
<li><a href="http://tutorial-zend.localhost/application/demo/index">vista index</a>
<li><a href="http://tutorial-zend.localhost/application/demo/fotos">vista fotos</a>
<li><a href="http://tutorial-zend.localhost/application/demo/musica">vista musica</a>
</ul>

Ya tenemos las tres vistas creadas ...

Creando nuevas vistas para el controlador con Zend Framework 2 paso a paso


Lógicamente esto aun no va a funcionar, tenemos las nuevas vistas pero aun no están asociadas al controlador, recuerden que el controlador "demo" se encuentra en ...

-src
    -Application
           -Controller
       
Creando nuevas vistas para el controlador con Zend Framework 2 paso a paso


Si abres el archivo DemoController.php podrás ver el modo en que Zend conecta el controlador con las vistas ...

class DemoController extends AbstractActionController
{
    public function indexAction()
    {
        return new ViewModel();
    }
}


Para cada vista hay una acción aquí se nombra a la acción de la vista index que ya teníamos creada anteriormente -> Public function indexAction() que retorna la vista index a través de -> ViewModel()

Así que agregaremos las nuevas vistas fotos y musica al controlador "demo" ...

class DemoController extends AbstractActionController
{
    public function indexAction()
    {
        return new ViewModel();
    }
    public function fotosAction()
    {
        return new ViewModel();
    }
    public function musicaAction()
    {
        return new ViewModel();
    }
}

Ahora sí tenemos conectado el controlador "demo" a las nuevas vistas fotos y musica, así que abriremos el navegador con la siguiente url http://tutorial-zend.localhost/application/demo/index y haz click en cada uno de los enlaces, podrás comprobar como navegas a través de las tres vistas.

Creando nuevas vistas para el controlador con Zend Framework 2 paso a paso


Espero que les haya gustado, próximamente más. Un saludo.