sexta-feira, 9 de maio de 2008

CakePHP 1.2 Scaffolding em Português

Scaffolding é uma estrutura provisória para auxiliar na construção de algum sistema, no caso do CakePHP ele funciona gerando listas e formulários que permitem inserção, atualização e exclusão de dados.
Como por padrão o CakePHP 1.2 tem o scaffold e inglês, fiz algo bem simples, e que pode ajudar quem está começando a utilizar este framework, traduzi o scaffold no braço, aqui estão os Arquivos, apenas descompacte e coloque os arquivos no diretório cake->libs->view da sua aplicação, conforme a figura abaixo:


Para remover a visualização dos resultados da query, alterei o arquivo dbo_source.php (comentei linhas 389 até 401) que está em cake->libs->model->datasources.
O cabeçalho padrão fica no arquivo default.ctp em cake->libs->view->layouts.
Veja os resultados abaixo.

Antes:


Depois:

Onde fica a página inicial?
Por padrão encontrei home.ctp em app->views->pages

Estou fugindo um pouco da forma padronizada, que é orientada nos tutoriais para CakePHP, mas ao verificar o conteúdo dos arquivos edit.ctp, index.ctp e view.ctp será possível entender um pouco como o scaffold funciona internamente.

Um bom tutorial de scaffold está em:
http://grahambird.co.uk/cake/tutorials/scaffolding.php

3 comentários:

Daniel Serodio disse...

Acabei de "descobrir" o CakePHP, não fiz nenhuma aplicação com ele ainda, então não sei como funciona a internacionalização nele, mas não seria possível integrar a sua tradução ao "pacote original"? Ou ele não suporta vários idiomas ao mesmo tempo?

Renê Dettenborn disse...

Olá obrigado pelo seu comentário!
Na versão 1.2 do CakePHP o Scaffolding, pelo que vi, não utilizaram o sistema de internacionalização padrão, tanto que alterei tudo diretamente no código fonte original.
O CakePHP suporta internacionalização (vários idiomas ao mesmo tempo), pelo que me lembro existe uma pasta chamada lang e dentro dela tem outra en.
Não tenha medo que vai dar certo, sempre faça uma cópia antes de alterar algo.

Marcelo Sabadini disse...

Na verdade o resultado das querys são muito importantes no desenvolvimento do sistema.

Eu aconselho a não remover ele do dbsource e sim quando o sistema entrar em produção colocar a opção 'debug' do app/config/core.php como 0 (zero).

Assim, mensagens de erro e as querys não serão visualizadas.

Abraços!