terça-feira, 20 de janeiro de 2009

Acentuação CakePHP : Encoding

O CakePHP 1.2 utiliza o UTF-8. No início podemos nos deparar com alguns problemas referentes a acentuação.
Buscando entender um pouco isso fiz algumas buscas na internet (google) e segui algumas recomendações simples.
  • Sempre ficar atento ao encoding do Banco de Dados;
  • Configurar o enconding no arquivo database.php do Cake;
  • Certificar o encoding utilizado em suas páginas;
Estas são precauções simples para evitar problemas com acentuação.

Atualmente, pelo que constatamos em muitos blogs e nas conversas entre desenvolvedores, o UTF-8 está com a preferência de uso.

Aqui vai uma boa dica : http://cakephp.afons.us/?tag=encoding

Uma referência para leitura: http://pt.wikipedia.org/wiki/UTF-8

Um post sobre Charsets e Encodes: http://www.tableless.com.br/charsets-e-encodes-tabelas-de-caracteres

domingo, 11 de janeiro de 2009

Páginas internas dinâmicas com CakePHP

Bem, andei um pouco afastada do blog por que entrei de férias e comecei a colocar alguns detalhes pessoais em ordem.

Mas o assunto deste post não são as minhas férias. Vamos ao que realmente importa.

Em algum momento do seu aprendizado sobre o CakePHP você se pergunta : "Como faço para criar páginas internas?".

Algumas respostas e sugestões aparecem : "Será que devo criar um controller para cada página interna?".Para esta primeira dedução você logo vai encontrar a resposta. Não, você não precisa criar um controller para cada página. (Easily creating static pages)

Lá na pasta "views" dentro de sua aplicação(app) você vai encontrar um diretório "pages". Todas as páginas internas do seu site ficarão armazenadas ali, ou seja, simples arquivos .CTP. Nada de controllers.

Perfeito. Agora seu site possui páginas internas tais como : "Quem somos", "Contato", etc.

Mas e se em algum momento formos questionados por nossos clientes : "Será que posso alterar o quem somos?". Bem, neste caso nossas páginas internas estão estáticas. Precisamos tornar esse conteúdo dinâmico.

Busquei um pouco na internet uma maneira de resolver essa questão.
Confesso que antes de qualquer coisa fiquei quebrando a cuca tentando resolver sozinha, depois de tentar as saídas que achei possíveis recorri aos resultados do Google. A busca retornou o que estava precisando (Managing simple pages in cakephp).

Com uma simples adaptação do código para a última versão do Cake consegui adotar o CRUD para minhas páginas internas usando o Pages_Controller do próprio Cake sem afetar os demais controllers.

Essa é a dica que tenho para quem precisa dessa adaptação; um ótimo 2009 para todos.