Wie setze ich ein Admin-Thema für eine Route?

8

Laut Drupal-Handbuch akzeptiert die Routendefinition den aufgerufenen Parameter _theme. Leider ist dieser Parameter als "TODO" dokumentiert .

Kann dies verwendet werden, um das Admin-Thema für die Route zu erzwingen? Ist es möglich, den Konfigurationsparameter hier mit dem Namen des Administrator-Themas zu versehen?

Es scheint, dass eine andere Lösung darin besteht, Theme_theme Negotiator zu verwenden. Der Parameter sieht jedoch sehr verlockend aus und ist viel einfacher zu verwenden.

SiliconMind
quelle

Antworten:

13

Sie suchen nach der 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
quelle
2
Noch eine undokumentierte D8-Funktion.
SiliconMind
5
Die Dokumentation für D8 ist möglicherweise noch nicht so gut, aber Änderungsdatensätze sind: drupal.org/node/2224207 . Suchen Sie dort immer, wenn Sie wissen, wie etwas in D7 funktioniert hat (gefunden durch Suchen nach "admin path"). drupal.org/developing/api/8/routing scheint ein guter Ort (Unterseite oder so) zu sein, um dies zu dokumentieren, und freut sich auf die Dokumentation, die Sie darüber schreiben werden :)
Berdir
1
Ändert _admin_route es einfach so, dass es das Standardthema anstelle des Administratorthemas verwendet?
Matt
1
Ich erhalte eine InvalidArgumentException: Die Routing-Anforderung für "Optionen" muss eine Zeichenfolge sein. beim Versuch, diese Lösung zu verwenden
Matt
2
module.myroute:
  path: '/path/path2'
  defaults:
    _controller: 'Drupal\module\Controller\MyController::add'
    _title: 'Add element'
  options:
    _admin_route: 'TRUE'

Sie müssen '' um TRUE verwenden. Wenn nicht, erhalten Sie 'InvalidArgumentException: Die Routing-Anforderung für "Optionen" muss eine Zeichenfolge sein.'

Christophe CARON
quelle
Das Beispiel hier zeigt es ohne Anführungszeichen: drupal.org/docs/8/api/routing-system/structure-of-routes, daher denke ich nicht, dass es mehr notwendig ist.
andeersg