h2o design - модули для Bitrix Marketplace

Назад к списку модулей

AJAX для любой компоненты - документация

Описание методов модуля

В данном разделе описаны все методы, которые поставляет модуль.

Логика модуля построена на том, что по ajax вызывается какая-либо конкретная компонента (в том числе можно вызывать комплексные компоненты) с предварительно созданным идентификатором, которому в соответствие ставится компонента с определенным набором параметров. Для вызова компоненты по ajax достаточно сформировать идентификатор ajax, и вызвать его через jquery функцию.


Методы формирования идентификатора ajax:


  function CH2oAjax::getID($name, $template, $params, $add = array())
	

Функция принимает набор параметров, схожий с функцией $APPLICATION->IncludeComponent и возвращает идентификатор ajax, уникальный для данного входного набора параметров

$name

Тип: String

Название компоненты. Например bitrix:main.feedback

$template

Тип: String

Название шаблона. Например .default

$params

Тип: Array

Массив с параметрами. Пример:

	
	Array(
		"IBLOCK_TYPE" => "catalog",
		"IBLOCK_ID" => 10,
		...
	)
	
	
	

$add

Тип: Array

Дополнительные параметры, по умолчанию пустой массив. В случае если передается массив - то параметры компонента получаются равными array_merge($params, $add), то в набор параметров добавляются значения $add:



  function CH2oAjax::getComponentID($component, $add = array())
	

Функция предназначена для файла result_modifier.php и возвращает идентификатор ajax для компоненты, в которой она вызвана с текущим для нее набором параметров

$component

Тип: CBitrixComponent

Объект компоненты, доступен в файле result_modifier.php через следующее обращение $this->__component


Метод вызова ajax по идентификатору:


  $.bitrixAjax(ajaxID [, success] [, params]);
	

ajaxID

Тип: String

Идентификатор ajax, полученный одним из описаных выше методов. В результате будет вызвана компонента с параметрами, соответствующими идентификатору ajaxID

success

Тип: Function(data) или Boolean

Функция-обработчик, вызывается после того, как запрос обработан сервером. В переменной data содержится ответ от сервера в виде объекта jquery

Важно!
При передаче значения true, либо при отсутствии данного параметра метод будет пытаться найти на странице, и обновить контейнер с классом "ajax_{идентификатор AJAX}. Метод берет данные из ответа сервера из такого же контейнера и вставляет на сайт, в соответствующий контейнер."

Поэтому если необходимо, чтобы после выполнения запроса никаких действий не происходило вообще, необходимо передать false

params

Тип: JSON

Параметр, предназначенный для передачи в запрос дополнительных параметров. Можно устанавливать следующие значения:

	
	{
		// значения добавляются в запрос в виде POST параметров
		post: { 
			arg1: value1,
			arg2: value2
		},
		// значения добавляются в запрос в виде GET параметров
		get: { 
			arg3: value3,
			arg4: value4,
		},
		// значения добавляются в параметры компоненты
		// (заменяют параметры, привязанные к ajaxID при наличии совпадений)
		component: { 
			'IBLOCK_ID' => 123
		}
	}