Como definir o tema do administrador para uma rota?

9

De acordo com o manual do Drupal , a definição de rota aceita o parâmetro chamado _theme. Infelizmente este parâmetro está documentado como "TODO" .

Isso pode ser usado para forçar o tema do administrador da rota? É possível injetar o parâmetro de configuração com o nome do tema admin aqui?

Parece que outra solução é usar o negociador de temas, mas o _themeparâmetro parece muito tentador e muito mais fácil de usar.

SiliconMind
fonte

Respostas:

14

Você está procurando a opção _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
Berdir
fonte
2
Mais um recurso D8 não documentado.
SiliconMind
5
A documentação pode não ser tão boa ainda para o D8, mas os registros de alterações são: drupal.org/node/2224207 . Sempre pesquise lá se você souber como algo funcionou no D7 (encontrado ao pesquisar "caminho do administrador"). drupal.org/developing/api/8/routing parece ser um bom lugar (subpage ou assim) para documentar este, ansioso para a documentação que você vai escrever sobre isso :)
Berdir
11
_admin_route apenas o altera para usar o tema padrão em vez do tema administrador?
Matt
11
Recebo uma InvalidArgumentException: o requisito de roteamento para "opções" deve ser uma sequência. ao tentar usar esta solução
Matt
3
module.myroute:
  path: '/path/path2'
  defaults:
    _controller: 'Drupal\module\Controller\MyController::add'
    _title: 'Add element'
  options:
    _admin_route: 'TRUE'

Você precisa usar '' em torno de TRUE, caso contrário, receberá 'InvalidArgumentException: o requisito de roteamento para "opções" deve ser uma sequência de caracteres "

Christophe CARON
fonte
O exemplo aqui mostra sem aspas: drupal.org/docs/8/api/routing-system/structure-of-routes, para que não seja mais necessário.
andeersg