KISS - Keep it simple, stupid!

Gerando HTML 4.01 com o HTML Helper do CakePHP

postado por Fabrício Ferracioli em 15/12/2009 14:21:18

Apesar das melhorias introduzidas no HTMLHelper do CakePHP 1.2, sempre achei ridículo ele gerar marcação apenas em XHTML. Sempre preferi HTML, e me via engessado pelo CakePHP nesse aspecto.

Acredito que muitos passam por essa dificuldade quando estão trabalhando com o HTMLHelper e FormHelper do CakePHP. Uma das principais consequências disso, é que o código gerado na maioria das vezes não é válido, pois mistura tags HTML e XHTML.

Mas sempre imaginei que deveria haver um meio de contornar isso. Certa vez verifiquei que existia um método chamado docType no HTMLHelper, e que era possível definir HTML 4.01 com ele. Mas minha alegria logo acabou quando percebi que ele não alterava o comportamento do Helper para gerar tags HTML.

Finalmente, hoje acabei me deparando com uma alternativa. Cansado de mensagens de código inválido fiz uma leitura mais cuidadosa do manual do CakePHP e encontrei a página que diz como gerar tags HTML 4.01. A solução não é muito elegante, mas é uma alternativa presente no próprio framework.
Espero que a solução sirva para vocês também!

Update 1:Para quem estiver com preguiça de fazer o arquivo do zero, fiz um repositório no Github com o arquivo e algumas tags. Conforme for sentindo necessidade vou aumentar o conteúdo dele. Quem quiser colaborar, está convidado!

Update 2: Apliquei as sugestões do Juan Basso, agora um Helper está disponível para manter as tags HTML 4.01. Vejam a discussão abaixo. O link do Github contínua o mesmo. Mantive o arquivo anterior para quem preferir o método da documentação do Cake.

Tags: , , , , ,
Topo

3 Comentários

Pega essa Proxy! Acessando GitHub com Your Freedom

postado por João José Pedrini em 17/02/2009 22:37:01
Tags: , ,

Sempre tive dificuldade de utilizar o GitHub aqui na faculdade, infelizmente aqui tem um proxy filho da pu.. que, além de bloquear alguns sites “legais”, desabilita quase todos os protocolos que não sejam HTTP, HTTPS e FTP. E adivinha? Nada de GitHub pro papai aqui.

Bem, meu problema acabou! Buscando algumas informações sobre como utilizar GitHub dentro de proxy, encontrei este artigo do tycho. O método dele é simples, ele utiliza uma facilidade do GIT que permite você indique um comando para tunelar o protocolo git://, que geralmente é trafegado pela porta 9418 (by thyco), isto dá a possibilidade de utilizar algum programa ‘burlador’ de proxys, como Your Freedom, para transitar suas requisições GIT.

O procedimento é um pouco complexo (pelo menos para mim, acho que foi a primeira vez que dei um make sozinho) e eu não faço a mínima idéia de como realizar isto no Windows, mesmo assim tentarei explicar. Faça o download do repositório tycho/connect (não dê ‘git clone’ pois, se está lendo este artigo, você não pode dar um ‘git clone’). Descompacte os arquivos numa pasta e dê um make dentro do diretório. Isto criará um comando chamando ‘connect‘, você pode colocar esse comando em alguma pasta que esteja referenciado no seu PATH ou deixá-lo onde quiser para acessá-lo diretamente.

A segunda parte é a configuração do GIT. Edite o arquivo gitproxy que veio junto com o repositório do thyco e certifique-se que o comando connect será executado em qualquer lugar. O que isto quer dizer? Se você colocou no PATH, você não faça nada, se você quis acessar diretamente, coloque o caminho completo do connect. Agora, você deve indicar qual o comando o GIT deve utilizar para tunelar o protocolo git://, veja abaixo como proceder:

git config --global core.gitproxy PATH/gitproxy

Novamente temos a situação onde podemos colocar o comando gitproxy em algum PATH ou indicá-lo diretamente, vocês já devem estar entendendo =D. O –global é opcional, mas acho que todos deixarão para não ter que configurar cada repositório manualmente, certo?. Bem, por último coloque o YourFreedom para rodar, certifique-se que o SOCK está rodando na porta 1080 (se não tiver, modifique o gitproxy) e voy lá, agora você pode mandar o proxy catar coquinho!

Sem dúvidas isto foi um life-changer para mim, fazia tempo que estava tendo problemas com este proxy. Acredito que esta dica ajudará muita gente, pois tenho certeza que aqui na empresa irá beneficiar uns 5!

Tags: , ,
Topo

2 Comentários

Tradução do Akita do “Por que o Git é melhor que X”

postado por João José Pedrini em 04/12/2008 12:46:42

Recentemente houve uma discussão no grupo de CakePHP para definirmos um repositório de projetos, extensões e mini-aplicativos do grupo brasileiro. Houve bastante discussão e eu acabei falando um pouco sobre Git e conseqüentemente de GitHub.

Pois bem, estava lendo meus feeds e li a notícia de uma super tradução do Fábio Akita (para falar a verdade, eu recomendo todos a lerem o blog AkitaOnRails!). Recentemente o Scott Chacon lançou um artigo/site (Why Git is Better than X) explicando, de acordo com sua opinião, os pontos positivos do Git perante os outros sistemas de controle de versão. Parabéns e obrigado Fábio Akita!

A versão em português pode ser encontrada em http://pt.whygitisbetterthanx.com/.

Tags: , , ,
Topo

Sem comentários

CamposEnumBehavior, campos ENUM de maneira fácil

postado por João José Pedrini em 18/11/2008 01:28:02

Acabo de criar um Behavior para manipular campos ENUM de banco de dados MySQL. Tinha visto o código de capturar os valores do ENUM no Bakery porém não fiquei muito satisfeito com o método dentro da classe AppModel. Portanto, criei um Behavior que facilitou bastante minha vida.

Primeiramente, a extensão se encontra hospedado no Github no meu projeto Pedaços de CakePHP. Em seguida, explico como faz para configurar:

No seu Model:

var $actsAs = array (
    'CamposEnum' => array (
        'campos' => array (
             'campo_1','campo_2'
        )
    )
);

No seu Controller:

function beforeRender(){
    $listas = $this->Model->listas();
    $this->set(array_keys($listas),$listas);
}

Voalá, agora todos os seus campos ENUM serão exibidos como SELECT’s. Tomem bastante cuidado com o encoding de suas aplicações e banco de dados, tive alguns problemas nesta questão.

Tags: , , ,
Topo

2 Comentários

Creative Commons License
Sou Ágil: KISS em http://kiss.souagil.com.br está licenciado sobre
Creative Commons Attribution-Share Alike 2.5 Brazil License.

souÁgil