Generalmente los ayudantes de vista (view helper) son código PHP (relativamente) simple cuyo objetivo es imprimir alguna parte de la vista. Podemos invocar a los ayudantes de vista desde cualquier plantilla. Con los ayudantes de vista podemos crear widgets reusables (como menús, barras de navegación, etc.) para nuestra página web.
Los ayudantes de vista son análogos a los complementos para controladores: los complementos para controladores permiten "extender" la funcionalidad de los controladores y los ayudantes de vista permiten "extender" la funcionalidad de las plantillas de vista.
ZF3 provee muchos ayudantes de vista estándares listos para usar. En la tabla 4.7 se presentan algunos de ellos junto con una breve descripción:
Clase del Complemento Estándar | Descripción |
---|---|
BasePath |
Permite recuperar la ruta base de la aplicación web que es la ruta absoluta para APP_DIR . |
Url |
Permite generar direcciones URLs relativas o absoluta desde dentro de la plantilla de vista. |
ServerUrl |
Recuperar la URL de la petición actual. |
Doctype |
Ayudante para colocar y recuperar el elemento HMTL doctype de la página web. |
HeadTitle |
Ayudante para colocar el elemento HTML title de la página web. |
HtmlList |
Ayudante para generar listas HTML ordenadas o desordenada. |
ViewModel |
Ayudante para guardar y recuperar el modelo de vista. |
Layout |
Recupera la vista de plantilla de diseño. |
Partial |
Permite imprimir una plantilla de vista "parcial". |
InlineScript |
Ayudante para colocar y recuperar elementos de tipo script que se incluyen en la sección HTML body. |
Identity |
Ayudante de vista para recuperar la identidad del usuario autenticado. |
FlashMessenger |
Permite recuperar el mensaje "flash" guardado en la sesión. |
EscapeHtml |
Permite escapar una variable impresa en la página web. |
Para mostrar el uso de los ayudantes de vista mostramos abajo como colocar el título de una página web. Generalmente es necesario dar un título diferente para cada página web. Podemos colocar el título para la página Acerca de agregando el siguiente código PHP al comienzo de la plantilla de vista about.phtml:
<?php
$this->headTitle('About');
?>
En el código de arriba llamamos al ayudante de vista HeadTitle
y le pasamos
el título de la página ("Acerca de") como argumento. El ayudante de vista HeadTitle
coloca internamente el texto para el elemento HTML <title>
de la página web.
Luego, si abrimos la página Acerca de en nuestro navegador web el título de la
página que aparecerá es "Acerca de - ZF Skeleton Application" (ver la figura 4.9
abajo a manera de ejemplo):
Discutiremos sobre los ayudantes de vista con más detalle y daremos más ejemplos de uso en el capítulo Apariencia de la Página y Diseño.