Fügen Sie dem bestimmten Modul "Group" auf Berechtigungsseite benutzerdefinierte Berechtigung hinzu

drupal.stackexchange https://drupal.stackexchange.com/questions/771

  •  16-10-2019
  •  | 
  •  

Frage

Wie kann ein benutzerdefiniertes Modul mithilfe eines kern-/beitragenden Moduls "Gruppe" auf der Seite "Berechtigungen" hinzugefügt werden, ohne das Kern-/Startmodul zu hacken?

Beispiel:
Add custom permission to core module

War es hilfreich?

Lösung

Wie bereits erwähnt, wäre es keine gute Idee, eine von einem Modul implementierte Genehmigung zusammenzustellen, die die von einem anderen Modul implementierten Berechtigungen implementiert haben. Für Benutzer würde es schwierig sein, die von Custom_Module.module implementierten Berechtigungen zu finden, wenn sie zusammen die von user.module implementiert sind.

Wenn Sie wirklich die Bestellung ändern müssen, die zur Auflistung der Berechtigungen verwendet werden (aber dann ist es wirklich notwendig), würde ich vorschlagen, wie die Liste der Berechtigungen angezeigt wird: Anstatt sie auf dem Modul zu basieren, das sie implementiert, könnten Sie es könnten Listen Sie sie auf, die auf verschiedenen Kriterien basieren.
Dazu müssten Sie:

Lohnt es sich, es zu tun? Dies könnte abhängig von Ihrem Kunden sein.
Angesichts der Tatsache, dass die erste offizielle Veröffentlichung für Drupal 7 veröffentlicht wurde und der Code für Drupal 7 sich ändern würde, lohnt es sich wahrscheinlich nicht, dies zu tun. Ich würde lieber versuchen zu verstehen, warum der Kunde die Reihenfolge der auf der Administrationsseite aufgeführten Berechtigungen ändern und den Grund erklären möchte, warum es eine schlechte Idee ist. Wenn der Kunde darauf besteht, dass der Code für seine eigenen Zwecke implementiert werden muss, würde ich ihn verstehen lassen, dass der Code neu geschrieben werden sollte, wenn die Website an Drupal 7 übergeht, und es lohnt sich nicht, Zeit für solche Änderungen zu verbringen, wenn es möglich ist Die gleiche Zeit verwenden, um etwas zu implementieren, das wirklich notwendig ist.

Andere Tipps

Es gibt keinen Hook_perm_Ager, und diese Berechtigungen werden nach dem Modul gruppiert. Wahrscheinlich würde der Weg darin bestehen, dort zu kommen ).

Sollte die Berechtigung immer noch über Ihre module_perm definieren, damit alles andere wissen kann, dass die Erlaubnis vorhanden ist.

Persönlich hatte ich dagegen geraten; Lassen Sie Ihre Erlaubnis, wo es sein würde, also gibt es kein "Ich habe dieses Modul installiert und kann die Erlaubnis nicht finden! Oh, warum war die Erlaubnis unter einem anderen Modul? !!"

Es gibt zwei Möglichkeiten, um das zu erreichen, was Sie verlangen.

Entweder durch hook_form_alter oder durch Überschreiben der Themenfunktion des Formulars: theme_user_admin_perm.

Für ein Standard -Auftriebsmodul wäre dies keine gute Idee, da die Leute neigen, um die Erlaubnis eines Moduls zu suchen, indem sie nach seinem Namen stöbern. Wenn Ihr Modul einige Änderungen des Standard -Benutzerberechtigungsflusses vornimmt, ist es möglicherweise keine schlechte Idee, die zusätzliche Berechtigung zusammen mit den Standards aus dem Benutzermodul anzuzeigen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit drupal.stackexchange
scroll top