CakePHP 1.2: Trabalhando com Temas
| janeiro 30th, 2009Uma feature muito interessante que temos na versão 1.2 do CakePHP, é a possibilidade de usarmos temas.
Temas é uma maneira, de podermos fazer distintas apresentações no CakePHP, com ele podemos usar sempre o mesmo controller, porém termos views e layouts distintos para cada tema. Sua utilização pode se dar por exemplo, em portais, onde há necessidade de apresentações diferentes.
Para implementar o mesmo é muito simples, pois o suporte já é nativo, basta informar ao controller que vamos usar 1 tema:
1 2 3 4 5 6 7 8 9 | class BbbController extends AppController { public $name = 'Bbbs'; public $view = 'Theme'; public $theme = 'big_brother_brasil'; public $helpers = array('Html', 'Form'); .//Continuação do controller } |
Podemos ver que foi adicionado um atributo novo na classe o $theme, e que o atributo $view recebeu o valor default de Theme.
Feito isso já temos suporte a utilização de temas, se você acessar novamente sua aplicação vai perceber que nada aconteceu, isso porque ele é inteligente, se não tivermos nenhuma view no tema relatado ele ignora e busca a padrão.
Para criarmos as alterações nos temas temos que criar 1 diretório novo na nossa aplicação, vá até ..app/views/ e crie um diretório ..app/views/themed/, esse é um diretório padrão onde vai abrigar nossos temas.
Criado ele agora podemos criar nossos temas dentro dele, no caso o teme que o controller Bbb está usando é o tema big_brother_brasil, então dentro de ..app/views/themed/ criamos o diretório big_brother_brasil ficando assim ..app/views/themed/big_brother_brasil.
Criado o diretório do nossa tema, agora basta criar as views da tua aplicação assim como os layouts. Por exemplo:
File: ..app/views/themed/big_brother_brasil/layouts/default.ctp
1 | < ?php echo 'BBB: Big Brother Brasil with CakePHP 1.2 =)'; ?> |
Assim como qualquer view da sua aplicação pode ser criada dentro do seu tema, e usada no controller que quiser.
E mais uma vez, rápido, fácil, simples, como só o CakePHP oferece!

