Подключение Javascript-фреймворков в Joomla 3
Twitter Bootstrap
Для подключения фреймворка Bootstrap используйте:
Это также автоматически подключит фреймворк jQuery в режиме no conflict. Это означает, что работа должна осуществляться через пространство имен jQuery
, а не через $
. Подключаемая версия библиотеки Bootstrap 2.3.2, и она расположена в /media/jui/js/bootstrap.js. Включает в себя методы для инициализации следующих плагинов: alert, button, carousel, collapse, dropdown, modal, tooltip, popover, scrollspy, tab, typeahead и affix. Подробнее об использовании Boostrap в Joomla 3 в статье "Bootstrap JHtml библиотека для Joomla 3.0".
Примечание: существует известная несовместимость между bootstrap-button
и jquery-ui-button
. Использование обоих кнопок на одной и той же странице приведет к конфликту. Смотрите https://gist.github.com/4177778 для возможного разрешения проблемы. Решение описенно в этой статье.
jQuery
Для того чтобы подключить jQuery, используйте:
Это загрузит библиотеку jQuery версии 1.10.2 в режиме no conflict. Для загрузки в нормальном режиме, используйте:
jQuery UI
Библиотека JUX (Joomla User Experience) включает в себя ядро jQuery UI Core (версия 1.9.2 на момент Joomla 3.2.1) плюс Widget, Mouse, Position, а также плагин Sortable. Документацию по использованию вы можете найти на странице jQuery UI. Для загрузки ядра используйте:
Это загрузит jquery-ui.core.js из директории /media/jui/js/. Включение jQuery UI автоматически включает JQuery в режиме no conflict, если это не было сделано ранее.
Для добавления библиотеки Sortable используйте:
Это автоматически загрузит ядро jQuery UI и библиотеку jQuery. Для прозрачности кода, лучше всего подключать эти две библиотеки через один вызов:
MooTools
Предполагается, что этот фреймворк будет исключен из будущих версий Joomla.
Вызов фреймворка:
Где $type
определяет тип (по умолчанию core). Загружает библиотеку MooTools из /media/system/js. Core: mootools-core.js, версия 1.4.5. More: mootools-more.js, версия 1.4.0.1. Подключение more автоматически включает core.
Joomla! Javascript Framework
Множество библиотек Joomla требуют фреймворк MooTools. Предполагается, что они будут мигрированы в фреймворк Bootstrap в будущих версиях Joomla.
Эти javascript библиотеки расположены в папке /media/system/js. Вот некоторые из них:
caption.js
Применит функцию подписи (caption) ко всем элементам с классом $selector
. По умолчанию классом селектора является img.caption
. Для того чтобы применить его к нескольким классам просто вызовите JHtml::_('behavior.caption', $selector)
несколько раз. Библиотека загрузится единожды, но будет применена ко всем указанным классам.
tooltip.js
Для всех DOM объектов с классом $selector
будет создан onhover тултип с необходимыми параметрами $params
. По умолчанию классом селектора является 'hasTip'
. Подключение этой библиотеки загрузит фреймворк MooTools.
combobox.js
Создает эффект combobox (поле со списком). Подключение этой библиотеки загрузит фреймворк MooTools.
validate.js
Включает валидацию формы, которая основана на правилах, которые определены полями формы. Подключение этой библиотеки загрузит фреймворк MooTools.
Плагины для фреймворков и собственные библиотеки
Для подключения сторонних плагинов и/или своих библиотек используйте JHtml::_('script')
с необходимыми параметрами. Например:
Это подключит библиотеку jQuery (если она не была подключена ранее) и файл /media/com_mycomp/js/jqueryplugin.js. Хорошей практикой считается использовать папку media для расположения скриптов. Подробнее об этом вы можете прочитать в статье "Используйте папку media для разрешения переопределения медиаданных".