Mostra 'accedi' nel menu utente quando non hai effettuato l'accesso


8

Mi chiedo, dov'è il codice che nasconde "Il mio account" e "Esci" nel menu utente? Solo curioso, per imparare da quel codice. Qualche modo per sapere dove cercare se vuoi sapere qualcosa del genere?

Ho aggiunto un link "Accedi" a questo menu e voglio nasconderlo quando nessuno ha effettuato l'accesso.

Risposte:


13

Quando si verifica qualcosa che accade con un collegamento, è necessario cercare un hook_menu(). Quindi devi indovinare in quale modulo si trova. In questo caso, dai un'occhiata al modulo Utente principale:

function user_menu() {
  $items['user/login'] = array(
    'title' => 'Log in',
    'access callback' => 'user_is_anonymous',
    'type' => MENU_DEFAULT_LOCAL_TASK,
  );

  return $items;
}

Nota la 'access callback' => 'user_is_anonymous',linea. Ciò significa che puoi farlo solo se sei anonimo (ad esempio, non hai effettuato l'accesso). Ciò significa che dovresti solo essere in grado di effettuare una voce di menu con "utente / accesso" come percorso e il collegamento verrà visualizzato solo quando ti disconnetti.


16

È possibile aggiungere un collegamento a menu user/login, il callback di accesso che verifica che sia mostrato solo agli utenti anonimi. Proprio come user/logoutè visibile solo per gli utenti che hanno effettuato l'accesso.

La definizione di questi callback () sono, come menzionato nell'altra risposta, in user_menu()


+1 e lo stesso vale per user/register: crea il link nel solito modo attraverso l'interfaccia utente del menu e viene visualizzato solo per gli utenti che non hanno effettuato l'accesso automaticamente.
user56reinstatemonica8

1

Controllare le definizioni dei menu user_menu()nel modulo utente. Il callback di accesso determina quando verrà visualizzata la voce di menu.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.