Ajax в joomla 3

В Joomla 3.2 з'явився новий компонент com_ajax. за допомогою цього компонента можна виконувати AJAX запити в модулі або плагіни!
У цій статті ми розглянемо як правильно використовувати цей компонент!

Для початку відразу треба зрозуміти що ми не зможемо робити запит в будь-який модуль або плагін!

Запити ми можемо робити тільки в ті модулі в яких є метод getAjax. і метод onAjaxІмяПлагіна

Для початку розглянемо як нам зробити AJAX запит в модуль!

Отже нам потрібно в рядку запиту зробити посилання виду:
index.php? option = com_ajaxmodule = module_nameformat = rawvar1.

  • option = com_ajax - це рядок незмінна і є обов'язковим параметром, означає що ми використовуємо компонент com_ajax
  • module = module_name - в цьому рядку ми говоримо що будемо отримувати модуль, module_name - ім'я модуля до якого ми хочемо достукатися!
    Важливо! ім'я модуля потрібно вказувати без приставки mod_
  • format = raw - обов'язковий параметр в якому ми говоримо в якому форматі будуть наші дані, всього є три формату: raw. json і debug
  • Далі ми можемо вказувати свої параметри!
  • Так само ми можемо додатково перевизначити метод в який буде йти AJAX запит! для цього нам потрібно передати змінну method = myMethod
    У цьому випадку буде викликатися метод: getMyMethodAjax

Для того що б все це працювало у нашого модуля повинен бути клас помічник helper.php. цей файл повинен лежати в одній папці з нашим модулем.
Клас помічника повинен строго називатися mod ModuleName Helper. в імені класу помічника не повинно бути знаку нижнього підкреслення!

У класі повинен бути файл getAjax () який буде приймати наші дані з AJAX і виконувати потрібні вам дії!

Тепер розглянемо роботу з плагінами!

Рядок для запиту практично та ж:
index.php? option = com_ajaxplugin = plugin_nameformat = rawvar1.
Всі параметри ті ж самі що і в модулі крім:
plugin = plugin_name - в якому ми говоримо що будемо працювати з плагіном і вказуємо ім'я плагіна!
Важливо! - при запиті в плагіни, будуть використовуватися тільки ті плагіни які знаходяться в групі ajax!

В плагіні повинен бути метод onAjax ІмяПлагіна який і буде ловити звернення до цього плагіну!
Змінювати ім'я методу для плагіна, як в модулі, не можна!

Приклад модуля з AJAX для Joomla 3.2 ви можете завантажити нижче!

Схожі статті