CakePHP 1.2: Trabalhando com Temas
Uma 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!
Big Brother Brasil cara? iuhae
Ótimo post.
Pessoalmente, modifico somente a var $layout.
Este Automagic é que mais me encanta. Tudo se torna ágil.
Abração.
opa não entendi o comentário sobre o var $layout, o cakephp quando não definimos o atributo layout, trás ele com o valor padrão que é default…
Eae cara blz?
então segui seus passos, e obtive sucesso para a FW 1.2
porém na 2.0.6 não teve nenhum retorno, por que será que está acontecendo isso?
tem algo de muito diferente, como por exemplo convenções de configuração que tenham mudado?
tem como me reotrnar pelo meu email? vlww ae
opa no 2.0.6 o muda um pouco…
o folder fica em: app/Views/Themed/MeuTema
Ai lá no teu controller segue tudo igual..
abraço