Home
Переопределение существующего маршрута Друпал (Override routing in Drupal)
2020-09-05
Переопределение существующего маршрута Друпал (Ovveride routing in Drupal)

commerce_custom_cart_redirect/commerce_custom_cart_redirect.info.yml

name: "Custom Cart Redirect"
type: module
core: 8.x
package: "utilvideo"

commerce_custom_cart_redirect/commerce_custom_cart_redirect.routing.yml

commerce_custom_cart_redirect.cart:
  path: '/cart_custom'
  defaults:
    _controller: '\Drupal\commerce_custom_cart_redirect\Controller\CustomCartController::index'
    _title: 'Shopping cart'
  requirements:
    _access: 'TRUE'

commerce_custom_cart_redirect/commerce_custom_cart_redirect.services.yml

services:
  commerce_custom_cart_redirect.route_subscriber:
    class: Drupal\commerce_custom_cart_redirect\Routing\RoutingSubscriber
    tags:
      - { name: event_subscriber }

commerce_custom_cart_redirect/src/Controller/CustomCartController.php

<?php

namespace Drupal\commerce_custom_cart_redirect\Controller;

use Drupal\Core\Controller\ControllerBase;

class CustomCartController extends ControllerBase {
  public function index(){
    return [
      '#type' => 'markup',
      '#markup' => 'custom cart'
    ];
  }
}

commerce_custom_cart_redirect/src/Routing/RoutingSubscriber.php

<?php

namespace Drupal\commerce_custom_cart_redirect\Routing;

use Drupal\Core\Routing\RouteSubscriberBase;

class RoutingSubscriber extends RouteSubscriberBase {

  protected function alterRoutes(\Symfony\Component\Routing\RouteCollection $collection) {
    if($route = $collection->get('commerce_cart.page')){
      $route->setDefaults([
        "_controller" => "Drupal\commerce_custom_cart_redirect\Controller\CustomCartController::index",
        "_title" => "Shopping Cart"
      ]);
    }
  }
}

 

Блог на Drupal 9 + Tailwindcss 3
Верстка сайта на Друпал 9 и Tailwindcss 3
2022-04-14
Разработка и верстка сайта на Друпал 2021
Разработка и верстка сайта на Друпал 9 2021
2021-03-25
Способы резервного копирования и восстановления (Часть 1) (Backup and Recovery methods in Drupal 9)
Способы резервного копирования и восстановления (Backup and Recovery methods)
2021-03-08
Аджакс попапы в Друпал 9 (Ajax Dialog Boxes)
Аджакс попапы в Друпал 9 (Ajax Dialog Boxes)
2021-03-02
Отключение кэширования в Друпал 9
Отключение кэширования в Друпал 9
2021-02-28