Додати вкладку / локальне завдання у вузол


10

Я створив модуль під назвою hotel_reviews.

Я створив вузол маршруту / {node} / reviews за допомогою 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'

Потім я спробував додати локальне завдання, використовуючи hotel_reviews.links.task.yml .

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

Тепер я можу отримати доступ до вмісту, визначеного моїм контролером node/1/reviews, однак, коли я переходжу, node/1я не бачу вкладки відгуків.

Що я роблю неправильно?

Наразі я використовував таку документацію:

Відповіді:


14

Ваш базовий маршрут неправильний. Вам потрібно використовувати маршрут, який використовує вузол / node / 1. Це не node.view. Це entit.node.canonical.


3
Це схоже на те, що зроблено з модуля Tracker у його файлі tracker.links.task.yml для вкладки "Діяльність" (/ user / {user} / Activity), для якої базовим маршрутом є entity.user.canonical. (Я додав цей приклад як нагадування для себе, сподіваючись, що він допоможе і іншим користувачам.)
kiamlaluno

1
Це спрацювало для мене чудово. Дякую ... Але це перехід від теми адміністру до передової теми ... Будь-які думки про те, як зберегти його з адміністративною темою? Дякую!
Делфорд Шаффін

1
Nevermind ... знайшов ... залишаючи відповідь тут для інших: (у визначенні маршруту) параметри: _admin_route: TRUE
Delford Chaffin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.