Как установить тему администратора для маршрута?


9

Согласно справочнику Drupal определение маршрута принимает параметр вызванный _theme. К сожалению, этот параметр задокументирован как «TODO» .

Можно ли использовать это для принудительной установки темы администратора? Можно ли ввести параметр конфигурации с именем темы администратора здесь?

Похоже, что другое решение заключается в использовании согласователя тем, однако этот _themeпараметр выглядит очень заманчивым и более простым в использовании.

Ответы:


14

Вы ищете опцию _admin_route:

aggregator.feed_add:
  path: '/aggregator/sources/add'
  defaults:
    _controller: '\Drupal\aggregator\Controller\AggregatorController::feedAdd'
    _title: 'Add feed'
  requirements:
    _permission: 'administer news feeds'
  options:
    _admin_route: TRUE

2
Еще одна недокументированная особенность D8.
SiliconMind

5
Возможно, документация для D8 еще не так хороша, но записи изменений: drupal.org/node/2224207 . Всегда ищите там, если вы знаете, как что-то работает в D7 (найдено путем поиска «путь администратора»). drupal.org/developing/api/8/routing кажется хорошим местом (подстраница или около того) для документирования этого, с нетерпением ожидая документации, которую вы напишите об этом :)
Бердир,

1
так _admin_route просто изменить его, чтобы он использовал тему по умолчанию вместо темы администратора?
Мэтт

1
Я получаю InvalidArgumentException: требование маршрутизации для «options» должно быть строкой. при попытке использовать это решение
Мэтт

3
module.myroute:
  path: '/path/path2'
  defaults:
    _controller: 'Drupal\module\Controller\MyController::add'
    _title: 'Add element'
  options:
    _admin_route: 'TRUE'

Вам нужно использовать '' вокруг TRUE, если нет, вы получите 'InvalidArgumentException: требование маршрутизации для "options" должно быть строкой "


Пример здесь показывает это без кавычек: drupal.org/docs/8/api/routing-system/structure-of-routes, поэтому я не думаю, что это больше необходимо.
andeersg
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.