miércoles, julio 15, 2009

Plantilla única para las acciones de un módulo en Symfony

Una forma sencilla de utlizar una única plantilla para las acciones de un módulo en Symfony, es declarando un método preExecute y usando el método de la clase sfActions llamado setTemplate, de la siguiente forma:

class miModuloActions extends sfActions
{
public function preExecute()
{
$this->setTemplate('miplantilla');
}

public function executeIndex()
{
// codigo ......

}
}

De esta manera todas las acciones buscarán la plantilla llamada miplantillaSuccess.php, sin necesidad de retornar un atributo de la clase sfView.

2 comentarios:

Iñigo dijo...

Este preExecute se ejecuta antes incluso de los metodos de otros modulos? O hay un preExecute por cada modulo?

jpromerobx dijo...

El método preExecute() se ejecuta antes de cualquier otra acción del módulo especificado. Si lo que quieres es ejecutar alguna acción antes de la ejecución de cualquier acción de alguno de los módulos de tu aplicación debes implementar un filtro.