Ich erstelle eine Website mit Drupal 7 und habe die Berechtigungen für Taxonomies überprüft. Ich wollte den Betreibern der Website eine zentrale Stelle zum Verwalten der Vokabeln und zum Hinzufügen von Begriffen, Sortieren der Begriffe usw. geben. Daher erteilte ich ihren Rollen die Berechtigung "Vokabeln und Begriffe verwalten" unter Taxonomie. Dies führte jedoch zu unerwünschten Komplikationen. In erster Linie konnten sie neue Felder erstellen und deren Anzeige verwalten (Registerkarten "Felder verwalten" und "Anzeige verwalten").
Gibt es eine Möglichkeit, ihnen Zugriff auf den Bildschirm zum Bearbeiten von Vokabeln und Begriffen zu gewähren, auf den Sie über "Struktur> Taxonomie" zugreifen können. Deaktivieren Sie jedoch die Registerkarten "Felder verwalten" und "Anzeige verwalten" auf dem Bildschirm zum Bearbeiten von Vokabeln?
Ich bin ziemlich vertraut mit dem Begriff des Überschreibens und Hooks in Drupal 6, aber ich bin ziemlich neu in Drupal 7 (in der Tat ist dies meine erste D7-Website, die ungefähr 5 oder 6 D6-Websites enthält), so dass es mir nichts ausmacht Codierungslösungen für diese, falls vorhanden. Einfach nach einer Antwort oder einem Vorstoß in die richtige Richtung suchen.
Da noch niemand geantwortet hat, wollte ich hinzufügen, dass ich bereit bin, Alternativen zum zentralen Bereich für die Verwaltung von Taxonomien (admin / structure / taxonomy) zu prüfen. Vielleicht könnte ich eine Seite mit Ansichten erstellen, um die Administrationsseite für Taxonomien zu simulieren.
Ist es machbar und hat schon jemand so etwas gemacht?
quelle
Verwenden Sie das Modul field_ui_permissions, das steuert, ob die Registerkarten "Felder verwalten" und "Anzeige verwalten" basierend auf den Rollenberechtigungen angezeigt werden sollen.
quelle
Die Berechtigung
administer taxonomy
wird verwendet, um Feldberechtigungen zu erteilen. Wenn Sie ihnen diese Berechtigung erteilen müssen, um ihnen Zugriff auf die Taxonomieverwaltung zu gewähren, können Sie eine neue Berechtigung für die Feld-Benutzeroberfläche erstellen.Dies lässt sich am einfachsten mit
hook_entity_info_alter
hook einstellen , da hier der Administrationspfad für das Feld ui und die Zugriffsberechtigung für sie hinzugefügt werden. Sie könnten auch verwendenhook_menu_alter
, um die Berechtigung zu ändern, aber dies ist etwas mehr Arbeit.quelle
Sie können versuchen, mithilfe von hook_menu_alter () den in der Funktion field_ui_menu () in der Datei field_ui.module eingerichteten 'Access Callback' zu bearbeiten. Hier werden die Menüelemente "Felder verwalten" und "Anzeigen verwalten" eingerichtet.
In Ihrem hook_menu_alter () können Sie nach diesen beiden Menüeinträgen für Taxonomiepfade suchen (da Sie die Content Type-Versionen dieser behalten möchten) und den 'Access Callback' in eine benutzerdefinierte Methode ändern, die eine neu erstellte Berechtigung überprüft in hook_permission ().
Ich habe in der Vergangenheit etwas Ähnliches gemacht und würde gerne Code senden, wenn nötig.
quelle