lupus_decoupled-1.x-dev/modules/lupus_decoupled_contact/src/Routing/RouteSubscriber.php

modules/lupus_decoupled_contact/src/Routing/RouteSubscriber.php
<?php

namespace Drupal\lupus_decoupled_contact\Routing;

use Drupal\Core\Routing\RouteSubscriberBase;
use Symfony\Component\Routing\RouteCollection;

/**
 * Changes contact forms route controllers.
 *
 * @internal
 */
class RouteSubscriber extends RouteSubscriberBase {

  /**
   * {@inheritdoc}
   */
  protected function alterRoutes(RouteCollection $collection) {
    // Provide a CE variant of the contact form.
    $form_route_ids = ['entity.contact_form.canonical', 'contact.site_page'];
    foreach ($form_route_ids as $form_route_id) {
      $route = $collection->get($form_route_id);
      $ce_route = clone $route;
      $ce_route->setRequirement('_format', 'custom_elements');
      $ce_route->setDefault('_controller', '\Drupal\lupus_decoupled_contact\Controller\ContactController::contactSitePage');
      $collection->add("lupus_decoupled.{$form_route_id}", $ce_route);
    }
  }

}

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

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