Bagaimana cara mengatur tema admin untuk rute?

9

Menurut definisi rute buku pegangan Drupal menerima parameter yang disebut _theme. Sayangnya parameter ini didokumentasikan sebagai "TODO" .

Bisakah ini digunakan untuk memaksa tema admin untuk rute? Apakah mungkin untuk menyuntikkan parameter konfigurasi dengan nama tema admin di sini?

Tampaknya solusi lain adalah menggunakan negosiator Tema namun _themeparameternya terlihat sangat menggoda dan lebih mudah digunakan.

SiliconMind
sumber

Jawaban:

14

Anda sedang mencari opsi _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
sumber
2
Namun fitur D8 tidak berdokumen lainnya.
SiliconMind
5
Dokumentasi mungkin belum begitu bagus untuk D8 tetapi catatan perubahan adalah: drupal.org/node/2224207 . Selalu cari di sana jika Anda tahu bagaimana sesuatu bekerja di D7 (ditemukan dengan mencari "admin path"). drupal.org/developing/api/8/routing sepertinya tempat yang bagus (subhalaman atau lebih) untuk mendokumentasikan ini, menantikan dokumentasi yang akan Anda tulis tentang ini :)
Berdir
1
jadi apakah _admin_route hanya mengubahnya sehingga ia menggunakan tema default dan bukan admin?
Matt
1
Saya mendapatkan InvalidArgumentException: Persyaratan perutean untuk "opsi" harus berupa string. ketika mencoba menggunakan solusi ini
Matt
3
module.myroute:
  path: '/path/path2'
  defaults:
    _controller: 'Drupal\module\Controller\MyController::add'
    _title: 'Add element'
  options:
    _admin_route: 'TRUE'

Anda perlu menggunakan '' di sekitar BENAR, jika tidak, Anda akan mendapatkan 'InvalidArgumentException: Persyaratan perutean untuk "opsi" harus berupa string'

Christophe CARON
sumber
Contoh di sini menunjukkannya tanpa tanda kutip: drupal.org/docs/8/api/routing-system/structure-of-routes jadi saya tidak berpikir itu perlu lagi.
andeersg