Zend Framework:Crear template

Tweet about this on Twitter0Share on Facebook0Share on Google+0Share on LinkedIn0Pin on Pinterest0

logo-zend-framework

En este artículo nos adentraremos más en el entorno Zend, para ello trataremos los templates. Con lo que explicaremos a continuación podremos crear un entorno común para todo el código que despleguemos en nuestra página web. Como puede ser la cabecera y el footer.

Para ello crearemos la carpeta layouts en el directorio application de la estructura de Zend. Dentro de dicha carpeta crearemos otra que llamaremos scripts. Es aquí donde depositarmos el archivo *.phtml que será el template o entorno sobre el qual se mostrara todo.
Un ejemplo de este archivo podría ser:

codi
Vemos que en este archivo mostramos un titulo, un menú y lo mas importante:
<?php echo $this->layout()->content; ?>

Respecto al título y menú podemos cambiarlo por variables que le pasemos al layout. De la parte de $this->layout()->content comentar que es lo que hará que todo el resto de código vaya a parar aquí… es decir será lo que cambiaria respecto a cualquier pagina por la que navegásemos dejando lo otro fijo.

Una vez hecho el layout, hemos de ver como lo llamamos, esto lo haremos de la siguiente forma, en el archivo principal, donde se reciban y se tramiten todas las peticiones, pondremos lo siguiente:

–    Definir un array con dos valores cuyos índices serán layoutpath i layout i cuyos valores serán el directorio donde pusimos el archivo phtml i el archivo phtml respectivamente. En este caso sería:
$options = array(
‘layoutPath’ => ROOT_DIR.’/application/layouts/scripts/’,
‘layout’ => ‘archivo.phtml’);
–    Llamar a la clase layout de zend:
require_once ‘Zend/Layout.php’;
–    Arrancar el layout creando la clase y pasándole el array que heoms creado:
Zend_Layout::startMvc($options);

Eso sería todo, el resto ya seria llamar a la clase front y llamar al dispach.

Tweet about this on Twitter0Share on Facebook0Share on Google+0Share on LinkedIn0Pin on Pinterest0
<< Post Anterior
Post Siguiente >>

Leave A Response

* Denotes Required Field