Создание, продвижение сайтов
40-33-54

Создание ajax команд Drupal 8-9

15 декабря 2020

Пример создания 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;
Сделайте заказ с сайта и получите 10% скидку на услугу

Заказ услуги с сайта raybin.ru

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Заказать бесплатную SEO-консультацию

Запрос бесплатной SEO - консультации с сайта raybin.ru

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Письмо в компанию Райбин

Письмо в компанию RAYBIN

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.