2 Stimmen

Programmatische Anzeige/Änderung der Menüverknüpfung

Wenn ein anonymer Benutzer auf die Website kommt, muss das letzte Element in den primären Links Login heißen. Wenn sie jedoch angemeldet sind, muss dort "Konto" stehen.

Wie lässt sich dies am einfachsten in Code umsetzen?

4voto

Ich erreiche dies durch die Verwendung der meine Aliasnamen Modul, um einen einzigen Pfad für die Kontoseite des angemeldeten Benutzers zu erzeugen (z. B. user/me ) und das Hinzufügen beider user/me y user/login zum Menü.

Wenn Sie dies programmatisch tun wollten, würden Sie Folgendes verwenden menu_link_save() :

$account = array(
  'link_path' => 'user/me',
  'link_title' => t('Account'),
  'weight' => 100,
);

$login = array(
  'link_path' => 'user/login',
  'link_title'=> t('Login'),
  'weight' => 100,
);

menu_link_save($account);
menu_link_save($login);

Aufgrund der Art und Weise, wie Drupal mit Menüberechtigungen umgeht, sieht ein eingeloggter Benutzer nicht Anmeldung (eingeloggte Benutzer haben keinen Zugriff auf user/login ), sondern werden sehen Konto und abgemeldete Benutzer sehen Anmeldung aber nicht sehen will Konto (anonyme Benutzer haben keinen Zugang zu user/me ).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X