Обновление библиотеки MooTools до версии 1.2.x в Joomla! 1.5.x

Joomla 1.5 довольно мощная CMS: для нее существует множество расширений, гибкий и мощный API. Кроме того она построена с использованием MVC модели, что позволяет веб-дизайнерам переписывать разметку компонентов в своих шаблонах.
Не смотря на все свои достоинства Joomla! 1.5 до сих пор использует устаревшую версию JavaScript фреймворка MooTools 1.11. Это при том, что в следующей версии библиотеки 1.2.x введено много новых функций и рефакторизирован код. Апгрейд библиотеки разработчики Joomla! планируют в следующей версии CMS. А пока приходится использовать устаревшие решения. Однако, Marco Solazzi предложил вариант самостоятельного апгрейда библиотеки до версии 1.2.x в Joomla! 1.5.9 и выше.
Особенности метода:
1. Почти полная совместимость с Mootools 1.11, чтобы избежать возможных ошибок
2. Обновление плагинов Mootools, там где это возможно
3. Отсутствие или минимальные изменения ядра Joomla
4. Осуществление поддержки Mootools у компонентов, работающих в Legacy (1.0.x) режиме
1. Тихое обновление MooTools
Прежде всего давайте загрузим последнюю версии Core Mootools и Mootools More (сейчас 1.2.3): MooTools 1.2.3 (YUI Compressor65 kb)
Распакуйте архив и поместите два файла в директорию /system/js/
Далее нужно скачать файл совместимости, который будет позволять корректно работать сценариям версии 1.11 с новой версией библиотеки, и поместить его в ту же папку, что и выше. Mootools 1.11 to 1.2.3 for Joomla 1.5 (72.06 KB). В последствии все действия приведенные ниже основываются на использовании файлов из этого архива.
2. Обновление плагинов
Одним из самых полезных плагинов Mootools является Squeezebox, используемых для модальных окон. В архиве скачанном выми выше содержится совместимая с 1.2.x редакцией версия, ее также надо поместить в папку /system/js/:
3-4. Немного PHP
Поскольку переднами стоит задача минимально затрагивать изменения ядра Joomla! то мы используем небольшой трюк, который позволит использовать новую версию MooTools только в фронт-энде и только через вызов его из index.php нашего шаблона.
Joomla базируется на нескольких PHP библиотеках которые находятся в папке libraries/, одна из них Joomla API, а также мы можем найти ezSQL (библиотека для работы с базами данных), PHPMailer (системы работы с почтой) и phpgacl (система контроля доступа). Чтобы воспользоваться встроенными библиотеками Joomla, и в то же время, предотвратить переписывание модификаций в будущих релизах, автор создал папку с названием my_libs в libraries/, содержащую файл с классом my_behavior для Joomla 1.5.x (он также находится в скачанном выше архиве).
По сути класс предоставляет собой статическую функцию, которая заново вызывает заглавную часть объекта документа Joomla!, ищет Mootools и заменяет его на версию 1.2, которую мы загрузили ранее.
Если Mootools не будет найден, то он будет загружены, расширяя таким образом функционал компонентов 1.0.x, которые работают в режиме наследования (Legacy Mode).
Вы можете вызвать этот класс в вашем index.php файле шаблона Joomla! путем размещения этих строк кода перед тегом head вашего шаблона:
<?php JLoader::import( 'my_libs.behavior' ); MY_Behavior::mootoolsFix(); ?> <jdoc:include type="head" />
Если вам нужно обратно переключится в режим работы Joomla! с библиотекой Mootools 1.11, то вам нужно поместить в том же месте следующий код:
MY_Behavior::mootoolsFix(false);
Внимание! Данный метод работает только на базовой установке Joomla! и может не работать с определенными компонентами.
Например, VirtueMart использует свою логику работы с MooTools и этот метод не работает с ним.
P.S. Мысли о роскоши...
Являются ли автомобили ауди роскошью, а не средством передвижения? По моему да. Если допустим, это авто бизнес-класса, с двигателем литра на 4 и кожаным салоном. Чем не роскошь? Да и цены на подобное «средство передвижения» зачастую доходят до цен на недвижимость за рубежом.





Можете посоветовать пару толковых источников по созданию шаблонов для Joomla 1.5. На официальных сайтах нормального руководства не нашел.
В принципе, на русском действительно нет. Но все зависит от того что вы хотите. Оптимальный вариант использовать wiki c joomla.org и также и форум, а именно раздел по шаблонам и кастомизации. Было время начал писать свой мануал, но работа не позволяет закончить. Но если есть какие-то конкретные вопросы, то напишите, могу ответить постом.
Америкосы пишут, что полезная штука mootools... но у вас в статье много чего упущено, к примеру /system/js/ — это бред. по правде там media/system/js, далее: ссылка у вас битая на сайт скрипт. и забыли написать для новичков что нужно не забыть убрать расширение *.txt с файла со скриптом... ну и другие вещи. А так... статья полезна )))
Спасибо. Поправлю.