Comment définir le thème administrateur pour un itinéraire?

9

Selon le manuel Drupal , la définition de route accepte le paramètre appelé _theme. Malheureusement, ce paramètre est documenté comme "TODO" .

Peut-il être utilisé pour forcer le thème administrateur pour l'itinéraire? Est-il possible d'injecter le paramètre de configuration avec le nom du thème admin ici?

Il semble qu'une autre solution consiste à utiliser le négociateur de thème, mais le _themeparamètre semble très tentant et beaucoup plus simple à utiliser.

SiliconMind
la source

Réponses:

14

Vous recherchez l'option _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
la source
2
Encore une autre fonctionnalité D8 non documentée.
SiliconMind
5
La documentation n'est peut-être pas encore aussi géniale pour D8, mais les enregistrements de modifications sont: drupal.org/node/2224207 . Recherchez toujours là-bas si vous savez comment quelque chose a fonctionné dans D7 (trouvé en recherchant "chemin admin"). drupal.org/developing/api/8/routing semble être un bon endroit (sous-page environ) pour documenter cela, dans l'attente de la documentation que vous allez écrire à ce sujet :)
Berdir
1
_admin_route le modifie-t-il simplement pour qu'il utilise le thème par défaut au lieu de celui d'administration?
Matt
1
J'obtiens une InvalidArgumentException: les exigences de routage pour les "options" doivent être une chaîne. lors de la tentative d'utilisation de cette solution
Matt
3
module.myroute:
  path: '/path/path2'
  defaults:
    _controller: 'Drupal\module\Controller\MyController::add'
    _title: 'Add element'
  options:
    _admin_route: 'TRUE'

Vous devez utiliser «» autour de VRAI, sinon, vous obtiendrez «InvalidArgumentException: les exigences de routage pour les« options »doivent être une chaîne»

Christophe CARON
la source
L'exemple ici le montre sans guillemets: drupal.org/docs/8/api/routing-system/structure-of-routes donc je ne pense pas que ce soit plus nécessaire.
andeersg