cookies_addons-1.0.3/modules/cookies_addons_views/src/Controller/CookiesAddonsViewsController.php

modules/cookies_addons_views/src/Controller/CookiesAddonsViewsController.php
<?php

namespace Drupal\cookies_addons_views\Controller;

use Drupal\Core\Ajax\AjaxResponse;
use Drupal\Core\Ajax\ReplaceCommand;
use Drupal\Core\Controller\ControllerBase;

/**
 * Returns responses for Cookies Addons Views routes.
 */
class CookiesAddonsViewsController extends ControllerBase {

  /**
   * Builds the response.
   */
  public function getView($view_id, $display_id, $service, $arguments) {
    $response = new AjaxResponse();
    $args = [];
    if (!empty($arguments)) {
      $args['field_value'] = $arguments;
    }
    $view = [
      '#type' => 'view',
      '#name' => $view_id,
      '#display_id' => $display_id,
      '#arguments' => array_values($args),
    ];

    $selector = '.cookies-addons-views-placeholder';
    $selector .= "[cookies-service=\"$service\"]";
    $selector .= "[view-id=\"$view_id\"]";
    $selector .= "[display-id=\"$display_id\"]";

    if ($service === 'leaflet') {
      $attachments = [
        'leaflet/leaflet-drupal',
        'leaflet/leaflet.fullscreen',
      ];
      $response->addAttachments($attachments);
    }

    $command = new ReplaceCommand($selector, $view);
    $response->addCommand($command);

    return $response;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc