Full-stack developer Emerson Rocha .::. CMS Joomla!, PHP, JavaScript/NodeJS, Infraestrutura

Este será o primeiro artigo escrito especialmente para a série de artigos voltados a designers focados em Joomla!. O texto atual não é absoluto, e pretendo atualizar conforme ver tal necessidade. Sinta-se livre para fazer comentários, ou sugestões de melhoria, porém tenha em mente que, conforme sua dúvida, em especial se ela for especifica demais para o seu caso, por questões de prioridade e falta de tempo posso acabar não lhe ajudando muito. Se for perguntar, no mínimo demonstre que pesquisou antes e procure se ajudar um pouco. Seja razoável.

Prefácio

Este artigo será focado nas versões mais recentes que estiverem recebendo suporte oficial do projeto Joomla. Não obstante, mesmo que na epoca atual a versão 1.5 tenha tal suporte, não vejo interesse em se preocupar com ela e esse tema, visto que para novos projetos, você já deveria estar migrando para a versão mais recente. De qualquer forma, boa parte dos conceitos aqui também poderiam ser aplicados à 1.5.

Outro ponto importante é que esse texto prima por deixar o Core do Joomla intocável, enquanto apoia o uso de overrides dos temas de extensões do core e de terceiros.

Se baseie ou em um tema Joomla que já seja HTML5/CSS3 ou escreva do zero o seu

Você tem duas grandes opções. o trabalho mais difícil e que pessoalmente aconselharia aos que são mais perfeccionistas, ou que tem MUITO, MUITO TEMPO livre, além de saber bem HTML5/CSS3, é escrever do zero. Esse processo toma muito tempo, porém lhe da um controle total sobre o conteúdo. Ele pode ser especialmente util para cortar fora partes desnecessárias de CSS e até algum excesso de uso de PHP aonde, no seu caso, não seria necessário. Creio que vale a pena para quem pretende trabalhar com produção em massa de templates para seus clientes.

A segunda opção, mais fácil e em geral semi pronta é procurar algum tema que já esteja bem próximo do que você quer. Desde o Joomla 1.6, você tem o tema beez5, que já é em HTML5 e CSS3. Por outro lado, existem alguns frameworks de template, liberadas sob licença GPL ou equivalente, que você pode usar, inclusive, em seus projetos comerciais:

Aviso aos novatos: usar um template framework pode, e vai, ser extremamente complexo. Se le o termo 'framework' e associa os migragres que o seu grid960 ou o blueprint faz por você, prepare-se para se perder no meio de tanto código. Os template frameworks são projetados para dar possibilidades, até demais. Em geral, tem até uma versão mobile, usam a mesma biblioteca padrão de javascript do Joomla (o que, saiba você ou não, é muito bom), e tem até algumas opções para o usuário alterar via frontend em vez de alterar no código. Eu, pessoalmente, acho isso um exagero, e, fora alguns recursos como já ter uma versão mobile, não sei até que ponto são realmente tão mais vantajosos, visto que boa parte do tempo para entender eles poderia ser aplicado em tempo para você fazer um você mesmo. Vai do gosto de cada um.

Use e abuse de template overrides que já estejam no padrão HTML5/CSS3

@todo: fornecer aqui um link para um artigo explicando detalhadamente o conceito de template overrides.

A dica essencial é, por questão de evitar retrabalho e ter por onde começar, é usar conteudo que já esteja próximo dos padrões. Com isso, você evita ter que reescrever boa parte deles, e ganha tempo, fora o fato de que as chances de erros são maiores.

Minha sugestão é que, a partir do Joomla 1.6, você você poderá copiar os arquivos de /templates/beez5/html para uma subpasta do seu respectivo tema, por exemplo /templates/meu_tema/html. Nessa versão do Joomla, você vai ver que não tem muita coisa ali dentro, apenas com_contact e com_content e não há qualquer módulo. A explicação é a seguinte: a maior parte do core natural do Joomla já é próxima do que seria necessário para validar HTML5. Agora a com_content, que justamente lida com gerenciar os arquivos, não o é.

O conteúdo também pode gerar erros de validação

Esse é um ponto que pode ser traumatizante. Você provavelmente já deve saber que jamais pode-se colar um texto direto de um editor de texto, como o MSWord, para um editor qualquer da internet. Alguns editores até tem a opção de 'colar do MS Word" que resolve o problema ao aceitar apenas formatações simples, como italico, negrito e alguns headings, e mesmo esses headings podem sujar seu código. Para evitar problemas, a menos que o usuário que vai adicionar um conteúdo no site saiba bem o que esta fazendo, coisa rara, jamais é aceitável colar um texto direto de um editor, ou mesmo direto de páginas da internet, visto que não so editores Joomla, mas editores de qualquer outro CMS e até mesmo os do seu email, vão procurar preservar a formatação do original de onde foi colado, e ESSA formatação, tende a carregar "lixo" para seu site.

Mais grave que isso é que, conforme o editor que for usar, ele pode até gerar um código que não valida bem em HTML5. Lembre-se que a maioria dos editores não foi projetada para isso, e não muito raro geram até lixo para HTML4. A regra geral é ficar atento a isso, e não confiar atentamente no editor que usa. Ele permitir que você faça algo, não quer dizer que isso vai ser validado.

Metatags do core do Joomla que invalidam código HTML5

Nem tudo são flores. O core do Joomla gera algumas tags que, na atual versão do validador de HTML5, que é experimental e pode sim, mudar a qualquer momento. Vou explicar como lidar com algumas delas.

Remover <meta name="title" content=" " />

Para remove-la, vá em J! > Administração > Configurações Globais > Exibir Titulo Meta tag > "Não". Só para lembrar, não confunda com a <title>Meu titulo</title>.

Remover <meta name="language" content=" " /> e <meta name="rights" content="" />

Diferente do que ocorrem em Joomla 1.5 e que vai voltar a ocorrer em Joomla 1.7 e posteriores, o framework do Joomla 1.6 não deixa de exibir as metatags que forem setadas para nulo. Em outras palavras, se para todas as outras versões eu poderia apenas passar duas linhas de código para ser colocado no seu template, especificamente na 1.6 OU você reseta todo o header do Joomla! e coloca item por item do seu, ou vai ter que editar direto o código do Joomla. Como já estamos próximos do lançamento da 1.7, que terá uma migração bem suave da 1.6, deixo de escrever uma rotina aqui que resolva isso e passo o link do fórum aonde um membro resolveu: Joomla meta tags do not pass validation in HTML 5.

Volto a avisar: editar o core do Joomla é totalmente desaconselhável, com uma atualização pode sobrescrever a edição, sempre existe uma solução que não envolve isso e... ao editar o core você está matando um gatinho.

comments powered by Disqus

fititnt.org is not affiliated with or endorsed by the Joomla Project or Open Source Matters. The Joomla logo is used under a limited license granted by Open Source Matters the trademark holder in the United States and other countries
HTML5 Valid