it-swarm.com.de

Wie füge ich der Registerkarte zum Bearbeiten von Benutzern (Profilen) sekundäre Registerkarten hinzu?

In früheren Versionen von Drupal gab es Benutzerkategorien, die als Registerkarten auf der Bearbeitungsseite für Benutzer (Profil) unter/user/{user}/edit angezeigt wurden. Wie können wir neue Registerkarten auf dieser Seite in Drupal 8) definieren?

3
Jaypan

Der Benutzerbearbeitungsseite können wie folgt Registerkarten hinzugefügt werden:

1) Definieren Sie die Route (n) für Ihre Registerkarte (n) in [MODUL] .routing.yml wie gewohnt:

[MODULE].something.user_defaults:
  path: '/user/{user}/edit/something'
  defaults:
    _controller: '\Drupal\[MODULE]\Controller\SomeController::someSettingsTab'
    _title: 'Some Settings'
  requirements:
    _permission: 'some permission'
    user: \d+
  options:
    parameters:
      user:
        type: entity:user

2) Fügen Sie in [MODULE] .links.task.yml Ihre Registerkarten wie primäre Registerkarten hinzu, außer dass Sie nicht base_route Verwenden, sondern parent_id Verwenden und auf (etwas) setzen unintuitiv) die vom Benutzer bearbeitete Registerkarte des Formulars, die in user.links.task.yml als entity.user.edit_form definiert ist (wie der Routenname):

[MOUDLE].something.user_defaults:
  route_name: [MODULE].something.user_defaults
  parent_id: entity.user.edit_form
  title: Some Title
  weight: 10

3) Sie müssen auch eine Registerkarte definieren, zu der der Benutzer zurückkehren kann, da Registerkarten nur gerendert werden, wenn mehr als zwei Registerkarten vorhanden sind. In diesem Fall möchten wir eine Registerkarte für das Benutzerbearbeitungsformular hinzufügen, indem wir die Route für das Benutzerbearbeitungsformular verwenden und erneut die Registerkarte für das Benutzerbearbeitungsformular verwenden:

[MODULE].entity.user.edit_form:
  route_name: entity.user.edit_form
  parent_id: entity.user.edit_form
  title: Profile
7
Jaypan