Cakephp – Trabalhando com themas (Themed)
Estou trabalhando no desenvolvimento de um pequeno CMS com o Cakephp e estava em busca de uma solução para customização de temas, foi em meio de pesquisas que descobri que o Cakephp tem o tal Themed. Então, ele é, digamos assim, mágico.
Na prática
No seu controller, declare as seguintes variáveis:
var $view = 'Theme' var $theme = 'seuTema'
Linha 01: Diz ao sistema que este controller vai usar o Themed e não o sistema de layouts padrão.
Linha 02: Define o nome do template(themed) que será usado. SeuTema é o nome do tema a ser usado.
Obs: Você pode definir o tema($theme) em cada Método: $this->theme = ‘segundoTema’
Agora é preciso colocar os arquivos do tema no diretório certo, veja um exemplo:
/app/views/themed/seuTema /app/views/themed/seuTema/layouts/ /app/views/themed/seuTema/layouts/default.ctp /app/views/themed/seuTema/controller/ /app/views/themed/seuTema/controller/action/ /app/views/themed/seuTema/controller/action/index.ctp
Onde ‘seuTema’ é o nome do tema que será usado, o mesmo declarado na variável theme (var $theme = 'example').
Observe que o controller fica dentro do template, assim dá para trabalharmos com mais liberdade em cada template.
Para os arquivos que ficam no webroot, trata-os como o exemplo abaixo:
/app/webroot/themed/seuTema/js/ /app/webroot/themed/seuTema/js/jquery.js /app/webroot/themed/seuTema/css/ /app/webroot/themed/seuTema/css/style.css /app/webroot/themed/seuTema/img/ /app/webroot/themed/seuTema/img/logo.jpg
Simples não?
Bom, as coisas ficam mais interessantes quando estamos usando mais de um template. Experimente e estude, é um ótimo recurso.