03 Outubro 2008
O Joomla 1.5 como a maioria dos desenvolvedores de websites utilizando este CMS já deve ter reparado, faz por defeito o carregamento da versão 1.11 ad Framework Mootools. Tanto no backend como no frontend. O carregamento desta versão ultrapassada do Mootools cria alguma limitação no desenvolvimento de aplicações javascript recentes utilizando Joomla 1.5.
Embora pouco ou nada se possa fazer para desabilitar o load desta versão do mootools no backend (nem se deve fazer), desabilitar o carregamento da versão 1.11 do Mootools no frontend de um site em Joomla é extremamente útil.
1º - Se não utiliza "efeitos" javascript é um peso desnecessário ao carregamento do seu website;
2º - A versão 1.11 está ultrapassada;
3º - Pode haver incompatibilidades caso deseje utilizar outras frameworks javascript;
4º - Permite-lhe actualizar para a versão 1.2 do Mootools.
No entanto a solução acima, como me deparei à pouco tempo, não funciona caso o website possua um sistema de reguisto. Isto porque quando o utilizador realiza o login o ficheiro Mootools 1.11 será carregado, criando incompatibilidade com a versão 1.2 ou outra framework Javascript.
A solução mais imediata que me ocorreu foi bloquear o load do Mootools 1.11 via .htaccess, no entanto existe outra solução que passa por modificar o código acima, de forma a que o Mootools não carregue também para utilizadores registados. O código ficaria algo do género:
<head>
<?php
// remove mootools 1.11 para guests e utilizadores reguistados
$utilizador =& JFactory::getUser();
if ($utilizador->get('guest') == 1 or $utilizador->usertype == 'Registered') {
$headerstuff = $this->getHeadData();
$headerstuff['scripts'] = array();
$this->setHeadData($headerstuff);
}
?>
<!-- A linha abaixo permite "injectar" css e js directamento no <head>-->
<jdoc:include type="head" />
<!-- A framework javascript que desejar -->
<script type="text/javascript" src="/Mootools12.js"></script>
<!-- outro codigo -->
</head>
Outubro 05, 2008