Aggiungi scheda / attività locale a un nodo


10

Ho creato un modulo chiamato hotel_reviews.

Ho creato il nodo route / {node} / reviews usando hotel ordina.routing.yml .

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

Ho quindi provato ad aggiungere un'attività locale usando hotel ordina.links.task.yml .

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

Ora posso accedere al contenuto definito dal mio controller all'indirizzo node/1/reviews, tuttavia quando vado a node/1non vedo una scheda recensioni.

Che cosa sto facendo di sbagliato?

Finora ho utilizzato la seguente documentazione:

Risposte:


14

Il tuo percorso di base è sbagliato. Devi usare la route che il nodo usa per / node / 1. Questo non è node.view. È entity.node.canonical.


3
È simile a quanto fatto dal modulo Tracker nel suo file tracker.links.task.yml per la scheda "Attività" (/ utente / {utente} / attività) per cui la route di base è entity.user.canonical. (Ho aggiunto questo esempio come promemoria per me stesso, sperando che possa aiutare anche altri utenti.)
kiamlaluno

1
Questo ha funzionato alla grande per me. Grazie ... Ma sta passando dal tema dell'amministratore al tema del front-end ... Qualche idea su come mantenerlo con il tema dell'amministratore? Grazie!
Delford Chaffin,

1
Non importa ... l'ho trovato ... lasciando qui la risposta per gli altri: (nella definizione del percorso) opzioni: _admin_route: TRUE
Delford Chaffin
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.