Drupal → Как создать свою AJAX команду (7)
Если вам не хватает встроенных ajax команд, то всегда можно создать свою. Пример ниже демонстрирует создание команды change_title
, которая изменяет заголовок текущего окна.
Javascript код:
(function($) { Drupal.ajax.prototype.commands.change_title = function(ajax, response, status) { document.title = response.title; } }(jQuery));
Пример PHP кода:
function mymodule_ajax_callback() { return array( '#type' => 'ajax', '#commands' => array( array( 'command' => 'change_title', 'title' => 'Hello World', ), ), ); }
Комментарии
Скажите, пож., можно ли по одной команде ajax_command_my_command выполнить вызов двух различных функций последовательно , т.е.
Drupal.ajax.prototype.commands.my_command = function_name1;
Drupal.ajax.prototype.commands.my_command = function_name2;
Первый вызов находится в core файле, второй - в моем модуле.
Скажите, разве не нужно проверять наличие объекта
Drupal.ajax
перед тем как добавлять команду через прототипирование? Плюс ко всему нужно проверять статус ответа. То есть пример должен выглядеть примерно так:Верно?
Это лишнее.
Оставить комментарий