Drupal 8自定义实体菜单路径

时间:2018-09-30 12:10:33

标签: drupal menu parent drupal-8 entities

当我使用Drupal控制台创建自定义实体时:

drupal generate:entity:content

然后默认情况下会生成菜单路径,并且它们工作得非常好,即在“结构菜单”中,有两个条目分别用于“列表”实体和“管理自定义”实体,并且包括“管理字段”,“管理表单显示”和“管理”的子菜单。管理显示。

现在,为了避免使结构菜单混乱,我喜欢在路径下的SystemController :: systemAdminMenuBlockPage下的模块中收集所有自定义实体 / admin / structure / myCustoModuleGroup / myCustomEntityType

通过在实体注释和MyCustomEntityHtmlRouteProvider中的路径中插入“ myCustoModuleGroup”,这很容易。然后我更新mymodule.links.task.yml

的base_route

但是,“管理字段”等的所有子菜单都消失了。这可能是因为他们不再具有正确的父母。

我想结束以下菜单项:

structure->CustomModule->CustomEntity1Type->Manage Fields
structure->CustomModule->CustomEntity1Type->Manage Form Display
structure->CustomModule->CustomEntity1Type->Manage Display.

structure->CustomModule->CustomEntity2Type->Manage Fields

有人能解决这个问题吗?我认为有一种方法可以更改代码中的菜单链接父级,因为它肯定是在某处声明的,但是我找不到它(花了整整一天的时间)。

1 个答案:

答案 0 :(得分:2)

我能够像这样在custom_entity.links.menu.yml中使它工作:

entity.custom_entity.fields:
  title: 'Manage fields'
  route_name: entity.custom_entity.field_ui_fields
  description: 'Manage fields'
  parent: entity.custom_entity.collection
  weight: 1

entity.custom_entity.form-display:
  title: 'Manage form display'
  route_name: entity.entity_form_display.custom_entity.default
  description: 'Manage form display'
  parent: entity.custom_entity.collection
  weight: 2

entity.custom_entity.display:
  title: 'Manage display'
  route_name: entity.entity_view_display.custom_entity.default
  description: 'Manage display'
  parent: entity.custom_entity.collection
  weight: 3