J3.x

Фреймворк JavaScript

From Joomla! Documentation

This page is a translated version of the page J3.x:Javascript Frameworks and the translation is 93% complete.
Outdated translations are marked like this.


Joomla! CMS включает ряд фреймворков JavaScript. Вы можете воспользоваться этими предварительно созданными библиотеками функций JavaScript вместо того, чтобы включать свой собственный код JavaScript. Фреймворки загружаются с помощью вызывов статичных методов в классе JHtml.

Фреймворк JavaScript "Twitter Bootstrap"

Для включения фреймворка "Bootstrap" [используйте] вызов JHtml::_('bootstrap.framework'). Это автоматически задействует фреймворк jQuery в режиме "noConflict" (то есть, к нему будут обращаться через jQuery. вместо $.). Эта библиотека "Bootstrap" является версией 2.1.0 и она находится по адресу media/jui/bootstrap.js. Она включает методы для инициализации плагинов affix, alert, button, carousel, collapse, dropdown, modal, tooltip, popover, scrollspy, tab и typeahead.

ПРИМЕЧАНИЕ: существует известная несовместимость между bootstrap-button и jquery-ui-button. Использование обоих на одной и той же веб-странице может привести к конфликтам. Для возможного преодоления [таких конфликтов] познакомтесь с [веб-страницей] [1].

Фреймворк JavaScript "jQuery"

Для загрузки jQuery используйте JHtml::_('jquery.framework');. При этом библиотека "jQuery" будет загружена в версии 1.11.1, в режиме "no conlict". Это означает, что к ней обращаются через пространственное наименование jQuery, а не $.

Для ее загрузки в обычном режиме [используйте] вызов JHtml::_('jquery.framework', false);.


Фреймворк JavaScript "jQuery UI"

Библиотеки JUX включают код ядра jQuery UI, плюс "Widget", "Mouse", "Position" и "Sortable" (начиная с Joomla 3.0.2 - версия 1.8.23). Для более подробного знакомства с их использованием просмотрите, пожалуйста, jQuery-UI эту документацию.

Для загрузки ядра используйте вызов JHtml::_('jquery.ui');.

При этом будет загружен надлежащий файл jquery-ui.core.js из директории media/jui. Включение "jQuery UI" автоматически включает в "jQuery" режим "noConflict", если он уже не был включен ранее.

Для добавления библиотеки "Sortable" используйте JHtml::_('jquery.ui', array('sortable'));. При этом будут автоматически включены главная библиотека "jQuery UI" и библиотека "jQuery".

Для ясности, лучше всего включать в одном и том же вызове как главную библиотеку, так и "Sortable" отдельно, используя JHtml::_('jquery.ui', array('core', 'sortable'));.

Начиная с версии Joomla 3.0.2. устанавливаются/имеются в распоряжении только [библиотеки] "jQuery UI" и "Sortable". Для использования других плагинов "jQuery", включая плагины "jQuery UI", Вам необходимо удостовериться в том, что они устанавливаются вместе с Вашим веб-приложением и для их загрузки вызвать JHtml::_('script') вместе с надлежащими параметрами. Альтернативно [этому], Вы можете создавать и устанавливать свои собственные расширения JHtml и создавать свои собственные вызовы JHtml, такие как JHtml::_('mylibrary.myloader').

Фреймвор JavaScript "Mootools"

Этот фреймворк устарел и в будущих версиях может быть изъят."

Загружает библиотеки "Mootools" из system/js, JHtml::_('behavior.framework', $type) где $type определяет библиотеку.

Ядро: mootools-core.js, версия 1.4.5 Дополнительно: mootools-more.js, версия 1.4.0.1, автоматически включает ядро.


Фреймворк JavaScript "Joomla!"

"Многим из библиотек Joomla необходим фреймворк "Mootools". Предполагается что в некоторых будущих версиях они будут мигрированы в фреймворк "Bootstrap"".

Эти библиотеки JavaScript могут быть размещены в папке media/system/js. Этот список неполон. Для проверки имеющихся в распоряжении библиотек, загляните, пожалуйста, в эту папку. Имеющиеся в распоряжении библиотеки:

caption.js :: JHtml::_('behavior.caption', $selector)

При этом ко всем элементам DOM, у которых имеется CSS класс $selector, будут применены функции подписи. Классом "selector" по умолчанию является img.caption. Для того, чтобы применить функцию подписи к нескольким классам, просто содайте несколько вызовов JHtml::_('behavior.caption', $selector). Эта библиотека будет загружена только один раз, но она будет применена ко всем классам.

tooltip.js :: JHtml::_('behavior.tooltip', $selector, $params)

Для всех объектов DOM с классом $selector на базе кода $params будет создана onhover подсказка. Селектором по умолчанию является hasTip. Загрузка этого фреймворка также загрузит фраймворк "Mootools".

combobox.js :: JHtml::_('behavior.combobox')

Создает эффект "combobox". Загрузка этого фреймворка также загрузит фреймворк "Mootools".

validate.js :: JHtml::_('behavior.formvalidation')

Включает проверку веб-формы на базе определенных полями формы правил. Загрузка этого фреймворка также загрузит фреймворк "Mootools".

switcher.js :: JHtml::_('behavior.switcher')

Эта библиотека используется внутренне и вряд ли будет полезна для других компонентов. При ее включении она также включает фреймворк "Mootools".

multiselect.js :: JHtml::_('behavior.multiselect')

Поведение JavaScript для того, чтобы разрешить в сетке смену select. Загрузка этого фреймворка также загрузки фреймворк "Mootools".

swf.js :: JHtml::_('behavior.uploader')

progressbar.js :: JHtml::_('behavior.uploader')

uploader.js :: JHtml::_('behavior.uploader')

Ненавязчивая поддержка JavaScript для расширенного загрузчика [файлов].

mootree.js :: JHtml::_('behavior.tree')

Добавить ненавязчивую поддержку для складывающейся древовидной структуры в JavaScript.

Файлов нет JHtml::_('behavior.keepalive') - не выключать пользовательскую сессию, например, во время редактирования или создания материалов.

Файлов нет JHtml::_('behavior.noframes') - вывести нас из любого включенного iframes.