Tambahkan tab / tugas lokal ke sebuah node

10

Saya telah membuat modul bernama hotel_reviews.

Saya telah membuat rute node / {node} / ulasan menggunakan hotel_reviews.routing.yml .

hotel_reviews.content:
  path: '/node/{node}/reviews'
  defaults:
    _controller: '\Drupal\hotel_reviews\Controller\ReviewsController::content'
    _title: 'Reviews'
  requirements:
    _permission: 'access content'

Saya kemudian mencoba menambahkan tugas lokal menggunakan hotel_reviews.links.task.yml .

hotel_reviews.content:
  route_name: hotel_reviews.content
  title: 'Reviews'
  base_route: node.view
  weight: 100

Saya sekarang dapat mengakses konten yang ditentukan oleh controller saya di node/1/reviews, namun ketika saya pergi ke node/1saya tidak melihat tab ulasan.

Apa yang saya lakukan salah?

Saya telah menggunakan dokumentasi berikut sejauh ini:

Felix Eve
sumber

Jawaban:

14

Rute pangkalan Anda salah. Anda perlu menggunakan rute yang digunakan simpul untuk / node / 1. Itu bukan node.view. Ini adalah entity.node.canonical.

Berdir
sumber
3
Ini mirip dengan apa yang dilakukan dari modul Tracker di file tracker.links.task.yml untuk tab "Activity" (/ user / {user} / activity) yang rute dasarnya adalah entitas.user.canonical. (Saya menambahkan contoh ini sebagai pengingat untuk diri saya sendiri, berharap ini akan membantu pengguna lain juga.)
kiamlaluno
1
Ini bekerja baik untuk saya. Terima kasih ... Tapi itu beralih dari tema admin ke tema front-end ... Adakah pemikiran tentang bagaimana untuk tetap dengan tema admin? Terima kasih!
Delford Chaffin
1
Nevermind ... menemukannya ... meninggalkan jawaban di sini untuk orang lain: (dalam definisi rute) pilihan: _admin_route: TRUE
Delford Chaffin