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

4 Comentários

Aumentando a semântica com RDFa

postado por Fabrício Ferracioli em 04/09/2009 15:18:54

Acredito que Web vem tomando um caminho interessante com decisões tomadas nos últimos meses, como a adoção do HTML 5 e o engavetamento do XHTML 2. Isso com apenas um padrão, a confusão será bem menor e a adoção poderá ser realizada de modo mais harmonioso. Mas, como a maioria das pessoas que trabalham com Web sabem, não basta que o padrão exista, ele deve ser suportado pelo mercado, senão acaba ficando somente “no papel”.
Até algum tempo atrás, acreditava que isso aconteceria com o RDFa, uma recomendação do W3C que é conjunto de extensões do (X)HTML que permite aumentar a semântica de documentos (X)HTML. Atualmente, o padrão é suportado pelo Yahoo!, o pioneiro, e pelo Google.

E agora você me pergunta:

Em que isso vai me ajudar?

O RDFa basicamente adiciona semântica a seus documentos, fazendo com que eles sejam compreendidos mais facilmente por dispositivos, o que aumenta a capacidade de busca.
Agora é só pensar um pouco, se o Yahoo e Google puderem compreender melhor seus documentos, eles serão mais facilmente encontrados e você ganha uma vantagem sobre quem não dá a mínima para semântica.
Pra você que ainda não ficou convencido, aqui vou usar dois exemplos, que talvez você já tenha visto, mas não sabia o porque das informações adicionais. Primeiro a do Yahoo.
Resultado de busca do Yahoo com RDFa
Agora a do Google.
Resultado de busca do Google com RDFa

Em ambos os casos, as informações adicionais que estão associadas aos resultados fazem grande diferença nos resultados, pois adicionam muito mais ao que o usuário deseja saber, do que simplesmete o resultado da busca tradicional. Essa pequena diferença já é suficiente para deixar seu resultado a frente dos demais e possivelmente preferido pelo usuário.

Gostou, não é?
E agora você me pergunta:

Mas como eu faço isso?!

Não faltam recursos na Web sobre RDFa, e como o objetivo desse post é alertar sobre as possibilidades dele, deixo alguns links para vocês aprenderem um pouco.

  1. Ótimo para quem não sabe nada, leitura obrigatória.
  2. Também é ótimo para quem está começando, dividido em duas partes.
  3. Continuação do artigo anterior.
  4. Esse é um pouco mais avançado, leia depois de ler os anteriores

Lembrando que o W3C Semantic Web Activity possui vários recursos para quem quer aprender, além de alguns casos de uso.
E não tem desculpa para não utilizar, ele é compatível tanto com HTML quanto XHTML.

Tags: , , ,
Topo

4 Comentários

Mudar as Tags do HtmlHelper

postado por João José Pedrini em 10/02/2009 03:03:04
Tags: ,

Não sei se todos sabem, mas quando vocês utilizam o HtmlHelper para escrever seus códigos HTML o CakePHP utiliza um conjunto de padrões de estrutura de Tags. Um exemplo seria: ‘textarea’ => ‘<textarea name=”%s”>%s</textarea>’

O que não é tão trivial é que há uma maneira simples de se alterar estas Tags como mostra o Blog Cake a Lot. O conceito é simples e utiliza o AppHelper como princípio. No exemplo ele coloca as modificações dentro da Configuração do CakePHP (o melhor local seria no bootstrap.php), mas poderíamos criar no próprio código.

class AppHelper extends Helper {
	function __construct() {
		if ($this->toString() == 'HtmlHelper') {
			$tags = array('image' => '<img src="http://cdn.domain.com%s" %s/>');
			if (is_null($tags)) $tags = array();
			$this->tags = am($this->tags, $tags);
		}
	}
}

Essa é só uma dica, não sei se pode ser útil para alguém mas sempre é bom conhecer esses truques.

Tags: ,
Topo

Sem 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