Difference between revisions of "Using Joomla Ajax Interface/ru"
From Joomla! Documentation
Line 43: | Line 43: | ||
Это значение также используется для: | Это значение также используется для: | ||
− | * | + | * Имени директории для проверки файла помощника, например <code>/modules/mod_session/helper.php</code> |
*Наименование класса для вызова, например: | *Наименование класса для вызова, например: |
Revision as of 08:06, 28 July 2015
Что такое AJAX интерфейс Joomla! (com_ajax)
Компактный, расширяемый компонент, действующий в качестве точки входа для HTTP запросов для автономных модулей и плагинов, тем самым предоставляя им потенциал функциональности AJAX. Com_ajax в основном используют, в тех случаях, когда не являются разработчиками того компонента, с которым взаимодействует модуль или плагин.
ПРИМЕЧАНИЕ: Если Вы разработчик компонентов, то нет необходимости применять в нем com_ajax для реализации функционала AJAX. Вы можете это сделать напрямую в своем компоненте.
Примеры применения:
- Модуль, получающий данные из внешнего API.
- Модуль, взаимодействующий с компонентом, который разработан не вами.
- Плагин, реализующий схожую с API функциональность для организации потребления данных с Вашего сайта.
Анатомия AJAX запроса
Требуется
option=com_ajax
[module|plugin]=name
format=[json|debug|raw]
Опционально
method=[custom fragment]
по умолчанию становитсяget
, если не указано.
Обзор
Все запросы начинаются с ?option=com_ajax
, который вызывает это расширение, должны содержать в себе тип расширения для вызова и формат возвращаемых данных.
Дополнительные переменные и значения, используемые вашим расширением также могут быть включены в URL.
Например запрос к ?option=com_ajax&module=session
вызовет mod_session
с результатами, возвращенными в формате по умолчанию. Код ?option=com_ajax&plugin=session&format=json
вызовет метод onAjaxSession
плагинов с выводом результата в JSON.
Поддержка модулей
Обобщение
Поддержка модулей реализована вызовом метода в файле helper.php
модуля.
Детали
Запросы модуля должны включать в себя переменную module
в URL, в паре с именем модуля (например: module=session
для mod_session
)
Это значение также используется для:
- Имени директории для проверки файла помощника, например
/modules/mod_session/helper.php
- Наименование класса для вызова, например:
Опционально переменная method
могла быть включена для отмены преикса метода по умолчанию get
.
- "'Примечание"': все методы должны заканчиваться в
Ajax
. Например: method=mySuperAwesomeMethodToTrigger
вызоветmySuperAwesomeMethodToTriggerAjax
Ajax Session Module являеться примером модуля демонстрирующего такую функциональность.
Ответ плагинов
Обобщение
Поддержка плагинов достигнута путем запуска события. плагина onAjax[Name]
.
Детали
Запросы плагинов должны включать в себя переменнуюplugin
в URL в паре с событием плагина, например plugin=session
для onAjaxSession
.
Это значение также используется для:
- Имя класса плагина следом за условностью
plgAjax[Name]
- Имя функции плагина следом за условностью
onAjax[Name]
/ - Группа плагинов по умолчанию
ajax
. Вы можете сменить её указав параметр запросаgroup
. (Начиная с Joomla! 3.4)
Ajax Latest Articles plugin пример плагина, демонстрирующего такую функциональность.
Формат Ответа
format=[json|debug]
опциональный аргумент для формата результатов.
json
для формата JSONdebug
для человекочитаемого вывода результатов./ru/ru/ru