Tampilkan 'masuk' di menu pengguna saat tidak masuk


8

Saya bertanya pada diri sendiri, di mana kode yang menyembunyikan "Akun saya" & "Keluar" di menu pengguna? Hanya ingin tahu, untuk belajar dari kode itu. Adakah cara untuk mengetahui ke mana harus mencari jika Anda ingin mengetahui sesuatu seperti ini?

Saya menambahkan tautan "Masuk" ke menu ini, dan saya ingin menyembunyikan ini ketika tidak ada yang masuk.

Jawaban:


13

Ketika Anda memiliki sesuatu yang terjadi dengan tautan, Anda perlu melihat kode untuk a hook_menu(). Maka Anda perlu menebak modul mana yang digunakan. Dalam hal ini, lihat modul Pengguna inti:

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

  return $items;
}

Perhatikan 'access callback' => 'user_is_anonymous',barisnya. Ini berarti bahwa Anda hanya dapat melakukan ini jika Anda anonim (yaitu, tidak masuk). Ini berarti bahwa Anda hanya bisa membuat entri menu dengan "pengguna / login" sebagai path, dan tautan hanya akan ditampilkan ketika Anda logout.


16

Anda dapat menambahkan tautan menu ke user/login, panggilan balik akses yang memverifikasi bahwa itu hanya ditampilkan kepada pengguna anonim. Sama seperti user/logouthanya terlihat untuk pengguna yang masuk.

Definisi panggilan balik ini () adalah, sebagaimana disebutkan dalam jawaban lain, dalam user_menu()


+1 dan hal yang sama berlaku untuk user/register- membuat tautan dengan cara biasa melalui UI menu, dan hanya muncul untuk pengguna yang tidak masuk secara otomatis.
user56reinstatemonica8

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.