Ich verwende das Content Access- Modul mit Drupal 7. Wenn ich den Knotenzugriff von einer bestimmten Rolle aus einschränke, wird auch der Link im Menü ausgeblendet.
Gibt es eine Möglichkeit, eingeschränkte Links im Hauptmenü anzuzeigen?
Ich verwende das Content Access- Modul mit Drupal 7. Wenn ich den Knotenzugriff von einer bestimmten Rolle aus einschränke, wird auch der Link im Menü ausgeblendet.
Gibt es eine Möglichkeit, eingeschränkte Links im Hauptmenü anzuzeigen?
admin/structure/menu/manage/main-menu/add
?Antworten:
Der Hauptzweck des Zugriffsinhaltssystems besteht darin, die Kontrolle darüber zu haben, was jeder Benutzer sehen kann, und jedes mögliche Sicherheitsproblem zu vermeiden. Dies ist das gewünschte Verhalten, und fast jedes Modul oder allgemeine ApI verwendet es, sodass Sie hierfür keine Standardlösungen finden.
Ich war in der gleichen Situation und die einzige Lösung, die ich gefunden habe, bestand darin, benutzerdefinierte Module zu erstellen und in meinem Fall direkt in der Menütabelle nach allen gewünschten Elementen zu fragen und die Berechtigungen selbst zu überprüfen, um entweder einen Link anzuzeigen oder einfach ein Titel des Inhalts, wenn der Benutzer keine Berechtigung zum Anzeigen hat.
quelle
Ich habe dies über ein benutzerdefiniertes Modul getan:
quelle
Ich bin mir ziemlich sicher, dass Sie ein benutzerdefiniertes Modul schreiben müssen, um damit umzugehen. Hier ist meine Idee: Lockern Sie die Zugriffsbeschränkungen für Inhalte, dh lassen Sie Benutzer Ihre Inhalte anzeigen. Dann muss Ihr benutzerdefiniertes Modul hook_node_load () implementieren und eine 403-HTTP-Antwort ausgeben, wenn Knoten geladen werden, die Ihre Benutzer nicht sehen sollten. Außerdem sollte hook_permission () implementiert werden, damit Sie den Zugriff auf der Berechtigungsseite einfach konfigurieren können.
Hier ist ein kurzes Beispiel, in dem der gesamte Knoten ausgeblendet und nach Inhaltstyp und Berechtigung gefiltert wird:
Oder Sie können einige der Knotenfelder ausblenden, anstatt eine 403 zurückzugeben. Dies wird jedoch gemäß der API-Dokumentation für hook_node_load () nicht empfohlen.
quelle
Sie können das Modul "Immer sichtbar" verwenden.
Eine ausführlichere Antwort auf Ihre Frage finden Sie hier /drupal//a/52149/7313
quelle