Agregar pestaña / tarea local a un nodo


10

He creado un módulo llamado hotel_reviews.

He creado la ruta node / {node} / reviews usando 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'

Luego intenté agregar una tarea local usando hotel_reviews.links.task.yml .

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

Ahora puedo acceder al contenido definido por mi controlador en node/1/reviews, sin embargo, cuando voy node/1no veo una pestaña de comentarios.

¿Qué estoy haciendo mal?

He estado usando la siguiente documentación hasta ahora:

Respuestas:


14

Tu ruta base está mal. Debe usar la ruta que usa el nodo para / node / 1. Eso no es node.view. Es entidad.nodo.canónico.


3
Es similar a lo que se hizo desde el módulo Rastreador en su archivo tracker.links.task.yml para la pestaña "Actividad" (/ user / {user} / activity) para la cual la ruta base es entity.user.canonical. (
Agregué

1
Esto funciono muy bien para mi. Gracias ... Pero está cambiando del tema de administración al tema de front-end ... ¿Alguna idea sobre cómo mantenerlo con el tema de administración? ¡Gracias!
Delford Chaffin

1
No importa ... lo encontré ... dejando respuesta aquí para otros: (en la definición de ruta) opciones: _admin_route: TRUE
Delford Chaffin
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.