将选项卡/本地任务添加到节点


10

我创建了一个名为的模块hotel_reviews

我已经使用hotel_reviews.routing.yml创建了路径节点/ {node} / reviews 。

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我看不到评论标签。

我究竟做错了什么?

到目前为止,我一直在使用以下文档:

Answers:


14

您的基本路线是错误的。您需要使用节点用于/ node / 1的路由。那不是node.view。它是entity.node.canonical。


3
这类似于从其Tracker.links.task.yml文件中“活动”选项卡(/ user / {user} / activity)的Tracker模块执行的操作,该路由的基本路由为entity.user.canonical。(我为提醒自己而添加了该示例,希望它也能对其他用户有所帮助。)
kiamlaluno

1
这对我来说很棒。谢谢...但是它正在从admin主题切换到前端主题...关于如何与admin主题保持任何联系?谢谢!
Delford Chaffin '18年

1
没关系...找到了它...在这里为其他人留下答案:(在路线定义中)选项:_admin_route:TRUE
Chaffin
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.