Usar temas en CakePHP

Una web puede modificar su diseño a lo largo del tiempo o puede ofrecer diferentes aspectos visuales según un usuario o el dispositivo que accede, por ejemplo un iPhone. Una manera cómoda de hacerlo es usando los themes que propociona CakePHP.

Sólo necesitamos crear una carpeta dentro de Views llamada themed y dentro de esta otra carpeta con el nombre del tema que queramos en la que pondremos todas las vistas que normalmente estarían en la carpeta Views. O sea, la carpeta layouts, pages y todas las otras carpetas de las vistas de nuestros controladores.

En el caso que existan CSS y Javascripts exclusivos para cada tema, estas carpetas deben residir dentro de webroot/themed/<nombre de nuestro tema> y aquí poner las carpetas CSS y JS con los archivos pertinentes.

Para decirle a la aplicación qué tema usar, debemos especificarlo desde la declaración de miembros de un controlador específico o desde el app_controller, mediante: var $theme = ‘mi_tema’

También se puede cambiar el tema en los métodos callback beforeRender() o beforeFilter().

Más información en la sección de Themes de la documentación.

Esto hace más evidente que el mayor código posible de la lógica (en realidad todo) debe residir en el controlador y en mayor medida en el modelo.

Tags: ,

One Response to “Usar temas en CakePHP”

  1. » CakePHP: Cambio de funcionamiento de los themes en la versión 1.3 Says:
    March 8th, 2010 at 6:02 pm

    [...] un tiempo hablé de cómo usar temas en CakePHP. Para la nueva versión 1.3, ahora en beta, hay un pequeño cambio que hace que una aplicación [...]

Leave a Reply