Как мне реализовать маршруты?

7

Как я могу реализовать самый простой маршрут в Drupal 8? Какие файлы мне нужно написать, и какие классы мне нужно реализовать?

Letharion
источник

Ответы:

11

Реализация самого базового маршрута в Drupal 8 требует:

  • Файл, содержащий определения маршрутизации (helloworld.routing.yml)

    helloworld.hi:
      pattern: '/helloworld'
      defaults:
        _controller: '\Drupal\helloworld\Controller\HelloWorldController::hi'
      requirements:
        _permission: 'access content'
  • Класс контроллера, который возвращает массив визуализации или строку (src / Controller / HelloWordCOntroller.php)

    namespace Drupal\helloworld\Controller;
    
    class HelloWorldController {
      function hi() {
        return 'Hello world!';
      }
    }

Это эквивалент того, что в Drupal 7 было MENU_CALLBACK. Реализация локальной задачи или локального действия требует добавления других файлов, в отличие от Drupal 7, где локальная вкладка будет реализована с использованием того же хука, что и для a MENU_CALLBACK.

Letharion
источник