xandeadx.ru Блог музицирующего веб-девелопера

Drupal → Создать свою ajax команду (8)

Опубликовано в

Пример создания ajax команды для вывода сообщений в консоль браузера.

src/Ajax/ConsoleLogCommand.php:

namespace Drupal\modulename\Ajax;
 
use Drupal\Core\Ajax\CommandInterface;
 
class ConsoleLogCommand implements CommandInterface {
 
  protected $message;
 
  /**
   * Command constructor.
   */
  public function __construct($message) {
    $this->message = $message;
  }
 
  /**
   * {@inheritDoc}
   */
  public function render() {
    return [
      'command' => 'consoleLog',
      'message' => $this->message,
    ];
  }
 
}

modulename.ajax.js:

(function ($, Drupal) {
 
  /**
   * Command "consoleLog".
   */
  Drupal.AjaxCommands.prototype.consoleLog = function (ajax, response, status) {
    console.log(response.message);
  };
 
})(jQuery, Drupal);

Использование:

$response = new AjaxResponse();
$response->addCommand(new ConsoleLogCommand('Hello World!'));
return $response;

Версия для Drupal 7

Написанное актуально для Drupal 8
Похожие записи

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании