Самая большая проблема при создании сайта на Joomla это js скрипты. Если изначально с этим не заморачиваться можно обнаружить от 10 до 20 подключенных скриптов. И никто вам не скажет (фигурально) какие из них вам действительно нужны.
Связана такая катавасия с тем что скрипты сейчас используются почти для всего. И порой небольшой плагин или модуль с одной функцией может подключить сразу несколько скриптов. Хороший пример плагин TopOfPage (от которого я, кстати, избавился, правда только на этом сайте) который подключает сразу два ява скрипта выполняя всего дну функцию.
Об объединении, сжатии и минификации скриптов напишу потом. Там куча своих подводных камней.
А сейчас небольшой пример того как можно отключить ненужные скрипты. Ненужность мы будем определять методом тыка. Отключили, смотрим на сайт, если все работает - радуемся. И так открываем index.php вашего шаблона и в начале вписываем:
$document = JFactory::getDocument();
unset(
$this->_scripts[$this->baseurl.'/media/system/js/caption.js'],
$this->_scripts[$this->baseurl.'/media/system/js/core.js'],
$this->_scripts[$this->baseurl.'/media/system/js/mootools-more.js']);
$document->addScript('/templates/site/javascript/mootools-more-1.4.0.1.js');
Поясню некоторые моменты. Во-первых это просто пример с одного моего сайта. Вы сами должны смотреть свои скрипты и отключать их аналогичным способом. Во-вторых, что касается последних двух строчек.
$this->_scripts[$this->baseurl.'/media/system/js/mootools-more.js']);
$document->addScript('/templates/site/javascript/mootools-more-1.4.0.1.js');
В начале я отключаю стандартный mootools-more.js который идет вместе с Joomla. А потом подключаю собранный и сжатый и без лишних функций. Собрать и скачать такой можно здесь: http://mootools.net/more/ Взгляните в первую очередь на количество лишних языков. В результате вместо 250кб мы получим 90. Поверьте разница ощутимая.
Что же касается mootools-core.js его я подключаю специальным плагином Google Ajax Library однако вы можете подключить его аналогично mootools-more-1.4.0.1.js
$document->addScript('//ajax.googleapis.com/ajax/libs/mootools/1.4.5/mootools-yui-compressed.js"');
Если на сайте используется JQuery его лучше подключать так же.
И так первый шаг сделан. Небольшой но шаг. Дальше поговорим о минимифакции и объединении. Скользкая штука.
А как вы поступаете со скриптами на своем сайте? Давайте делиться опытом! Заставим сайты бегать!
Компонент комментариев CComment