Простой способ отключить mootools и поведения по умолчанию в Joomla 2.5

По воле судьбы (или року) пришлось столкнутся с этой *** Joomla CMS *** (за *** можете принять любое нецензурное слово) и  сесть за ее изучение. Да и еще нужно было начинать с версии 2.5 (про 3 пока ниче не говорю).

Первое впечатление все ок, а последующие не очень. Почему? Все просто — не хочу подстраиваться под чьи-то условия.

Не буду ни хвалить, ни ругать разработчиков. Что сделали то сделали, видимо хотели как лучше, ну а получилось как всегда 😉

Вообщем закончим лирическое отступление и возьмемся за дело. Хочу также предупредить, что эту заметку исключительно пишу для того чтобы сохранить этот «уникальный» способ борьбы с джумлой.

Итак, пришлось создавать свой собственный шаблон и натягивать его на движок. Сам шаблон создается за 2 минуты по этой инструкции. Но, как оказалось для корректной его работы необходимо и обязательно подключать хедер джумлы:

<jdoc:include type=»head» />

Так вот, этот самый хедер тянет с собой подключение библиотеки mootools по умолчанию (mootools.js, mootools-more.js), а также инициализирует событие вывода подсказок и keepAlive,  которые мне абсолютно не нужны.

Что же, чтобы долго не разбираться в структуре джумлы начал поиск исправления проблемы путем гугления, и как оказалось все знают о данной проблеме, но толковых решений мало.

Поэтому опубликую как можно с этим справится:

Первый блок кода отключает keepalive и пишется вверху скрипта после defined(‘_JEXEC’) or die;

defined('_JEXEC') or die;
JHtml::_('behavior.keepalive', false); //отключаем keepalive

Следующий блок кода пишем после <jdoc:include type=»head» />

$this->_scripts = array(); //берем все скрипты
unset($this->_script['text/javascript']);  //убираем
$templateurl = $this->baseurl.'/templates/'.$this->template; 
$doc = JFactory::getDocument(); //берем данные документа
$doc->addScript($templateurl . '/js/jquery-1.10.2.min.js', 'text/javascript'); //подключаем свои библиотеки
$doc->addScript($templateurl . '/js/jquery.main.js', 'text/javascript');

Надеюсь данный пост поможет сэкономить часа 3 Вашего времени на устранение вышеописанной проблемы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *