Ich verwende derzeit Drupal 7 und schreibe einen benutzerdefinierten Code, so dass Benutzer mit einer bestimmten Berechtigung ("Geschäftsdashboard verwenden") ein Menüelement in ihrem Hauptmenü sehen sollten. Das Problem ist, dass nur ich (Admin) dieses Menüelement sehen kann. Ich konnte eine benutzerdefinierte Berechtigung auf der Berechtigungsseite erstellen und sie so einstellen, dass der Zugriff auf "admin" und meine benutzerspezifische Rolle gewährt wird. Ich habe den folgenden Code implementiert (ignorieren Sie das "xxxxxx", das den Modulnamen anonymisiert, aber wissen Sie einfach, dass sie alle für den maschinenlesbaren Modulnamen stehen):
function xxxxxx_menu(){
$items = array();
$items['xxxxxxx'] = array(
'title' => 'Unternehmenseigentümer-Dashboard',
'page callback' => '_xxxxxx_page',
'access arguments' => array('Geschäftsdashboard verwenden'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
function xxxxxx_permission(){
return array(
'Geschäftsdashboard verwenden' => array(
'title' => t('Zugriff auf das Geschäftsdashboard haben'),
'description' => t('Ermöglichen Sie dem Benutzer, SMS-Nachrichten über Datenbankabfragen zu senden'),
),
);
}
Wenn ich mich als meinen Testbenutzer anmelde, der die rollenspezifische Berechtigung "Geschäftsdashboard verwenden" hat, sehe ich das Menüelement nicht. Ich bin sicher, dass dies unglaublich einfach ist, aber ich habe stundenlang gegoogelt und den Code durchsucht. Jede Hilfe wäre sehr willkommen!