Drupal 8 Пользовательские сущности Пути к меню - PullRequest
0 голосов
/ 30 сентября 2018

Когда я создаю пользовательскую сущность с помощью консоли Drupal:

drupal generate:entity:content

, тогда пути меню генерируются по умолчанию, и они работают очень хорошо, то есть в Структурном меню есть две записи для Перечисления сущностей и для Управленияпользовательский объект, и он включает подменю для управления полями, управления отображением форм и отображения дисплеев.

Теперь, чтобы не загромождать меню структуры, я хотел бы собрать все пользовательские элементы модуля в SystemController.:: systemAdminMenuBlockPage в пути / admin / structure / myCustoModuleGroup / myCustomEntityType

Это легко, вставив myCustoModuleGroup в пути в аннотациях сущностей и в MyCustomEntityHtmlRouteProvider.Затем я обновляю base_route mymodule.links.task.yml

Однако тогда все подменю управления полями и т. Д. Исчезают.Вероятно, это потому, что у них больше нет правильного родителя.

Я хотел бы в конечном итоге получить пункты меню для:

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

structure->CustomModule->CustomEntity2Type->Manage Fields

и т. Д.

Кто-нибудь смог решить эту проблему?Я предполагаю, что есть способ изменить родительский элемент ссылки меню в коде, поскольку он, безусловно, был где-то объявлен, но я не могу его найти (потратил целый день на попытки).

1 Ответ

0 голосов
/ 10 декабря 2018

Мне удалось заставить это работать в 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
...