Customizando Layouts

Trabalho em uma corporação que quer implementar uma nova linguagem de programação visando a comunicação com o banco de dados oracle, para isso estamos apostando no PHP, depois de descobrir o Yii parece que as coisas começaram a clarear, porém, ainda não descobrir como definir uma padronização dos layouts de acordo com as nossas definições de cores, fontes e alinhamentos, gostaria de saber se alguem sabe como customizar diretamente no framework os layouts ficando apenas as "florzinhas" a serem mexidas no projeto pronto.

parece dificil a principio, mas na verdade eh bem facil:

Você tem de alterar em DOIS lugares:

seuprojeto/protected/views/layouts/main.php (formulario padrao)

e

seuprojeto/css (estilos)

Qualquer dúvida posta aí ;)

Nessa parte até que realmente não foi difícil de encontrar, porem, ele altera apenas para o projeto que eu estou fazendo e se eu quiser um padrao para todos os meus projetos ? dai eu teria que mexer no Yii/framework correto ? Mas ai que está, onde seria tal mudanca ? no mesmo local ?

Ola, qdo vc executa o "yiic webapp destino" ele copia para o destino o conteúdo do dir: framework\cli\views\webapp.

Dentro do shell mode, os templates estão em: framework\cli\views\shell.

Eles poderiam usar a internacionalização para facilitar a vida de todos…

Não é uma boa sobrescrever os arquivos do framework. Isto dificulta quando for necessário atualizar a versão do Yii (há o risco de perder todas as suas mudanças).

Neste caso, eu indicaria o seguinte procedimento:

  • Crie uma pasta framework\cli\views\webapp\meu_webapp. Nesta pasta, copie todo os conteudo desejado de framework\cli\views\webapp. Altere o css e o layout da forma que vc achar mais indicado.

  • Crie seu proprio webapp. Faça uma copia do framework\cli\commands\WebAppCommand.php.

  • Altere o novo arquivo mais ou menos da seguinte forma:

*class MyWebAppCommand extends WebAppCommand

Na linha

    $sourceDir=realpath(dirname(FILE).'/…/views/webapp');

Altere para

    $sourceDir=realpath(dirname(FILE).'/…/views/webapp/meu_webapp');

Assim, vc poderã usar o comando 'yiic mywebapp meu_projeto' com as novas definicoes para criar seus novos projetos.