J3.x

Фреймворк JavaScript

From Joomla! Documentation

This page is a translated version of the page J3.x:Javascript Frameworks and the translation is 97% complete.

Outdated translations are marked like this.
Other languages:
English • ‎español • ‎français • ‎русский • ‎中文(台灣)‎

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.