Using Joomla Ajax Interface/ru: Difference between revisions
From Joomla! Documentation
No edit summary |
No edit summary |
||
| Line 5: | Line 5: | ||
Компактный, расширяемый компонент, действующий в качестве точки входа для HTTP запросов для автономных модулей и плагинов, тем самым предоставляя им потенциал функциональности AJAX. Com_ajax в основном используют, в тех случаях, когда не являются разработчиками того компонента, с которым взаимодействует модуль или плагин. | Компактный, расширяемый компонент, действующий в качестве точки входа для HTTP запросов для автономных модулей и плагинов, тем самым предоставляя им потенциал функциональности AJAX. Com_ajax в основном используют, в тех случаях, когда не являются разработчиками того компонента, с которым взаимодействует модуль или плагин. | ||
'''ПРИМЕЧАНИЕ''': Если Вы разработчик компонентов, | '''ПРИМЕЧАНИЕ''': Если Вы разработчик компонентов, то нет необходимости применять в нем com_ajax для реализации функционала AJAX. Вы можете это сделать напрямую в своем компоненте. | ||
Примеры применения, включая но не ограничиваясь: | Примеры применения, включая но не ограничиваясь: | ||
Revision as of 12:57, 28 July 2015
Что такое AJAX интерфейс Joomla! (com_ajax)
Компактный, расширяемый компонент, действующий в качестве точки входа для HTTP запросов для автономных модулей и плагинов, тем самым предоставляя им потенциал функциональности AJAX. Com_ajax в основном используют, в тех случаях, когда не являются разработчиками того компонента, с которым взаимодействует модуль или плагин.
ПРИМЕЧАНИЕ: Если Вы разработчик компонентов, то нет необходимости применять в нем com_ajax для реализации функционала AJAX. Вы можете это сделать напрямую в своем компоненте.
Примеры применения, включая но не ограничиваясь:
- Модуль, получающий данные средствами внешнего API.
- Модуль, взаимодействующий с компонентом, написаным не Вами.
- Плагин, реализующий схожую с API функциональность для организации потребления данных с Вашего сайта.
Анатомия запроса Ajax
Требуется
option=com_ajax[module|plugin]=nameformat=[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 requests must include the module variable in the URL, paired with the name of the module (i.e. module=session for 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