Dalam pandangan, apa perbedaan antara entri menu Normal, tab Menu dan tab menu Default

19

Saat menambahkan item menu dalam tampilan saya melihat tiga pilihan yang ambiguius

Entri menu normal

Tab menu

Tab menu default

Apa perbedaannya dan kapan saya akan menggunakan masing-masing?

masukkan deskripsi gambar di sini

Nigel Waters
sumber

Jawaban:

14

Mereka sesuai dengan typeparameter item yang dikembalikanhook_menu()

  • Entri menu normal = MENU_NORMAL_ITEM

    Jenis menu - Item menu "normal" yang ditampilkan di menu dan remah roti.

    Item menu normal muncul di pohon menu dan dapat dipindahkan / disembunyikan oleh administrator. Gunakan ini untuk sebagian besar item menu. Ini adalah nilai default jika tidak ada jenis item menu yang ditentukan.

  • Tab Menu = MENU_LOCAL_TASK

    Jenis menu - Tugas khusus untuk item induk, biasanya ditampilkan sebagai tab. Tugas lokal adalah item menu yang menggambarkan tindakan yang harus dilakukan pada item induknya. Contohnya adalah jalur "simpul / 52 / edit", yang melakukan tugas "edit" pada "simpul / 52".

  • Tab menu default = MENU_DEFAULT_LOCAL_TASK

    Jenis menu - Tugas lokal "default", yang awalnya aktif.

    Setiap rangkaian tugas lokal harus menyediakan satu tugas "default", yang menghubungkan ke jalur yang sama dengan induknya ketika diklik.

Contoh terbaik yang bisa saya pikirkan adalah halaman simpul. Ketika Anda mengunjungi halaman node, tab 'View' disediakan oleh item menu bertipe MENU_DEFAULT_LOCAL_TASK(lihat $items['node/%node/view']di node_menu()).

Itu tidak memiliki jalur seperti itu (itu mewarisi dari item menu induk), itu hanya bertujuan untuk memungkinkan halaman node memiliki tab di antara kelompok-kelompok tab 'nyata', yang didefinisikan dengan MENU_LOCAL_TASK.

Clive
sumber
Terima kasih @Clive. Dua yang terakhir masih ambigu bagi saya. Apakah Anda pikir Anda dapat menambahkan contoh masing-masing untuk menentukan kapan saya akan menggunakan satu di atas yang lain saat membuat halaman untuk tampilan saya?
Nigel Waters
Saya sudah mencobanya, semoga masuk akal :)
Clive
Maaf itu masih belum mengklik untuk saya. Kapan "saya" akan menggunakannya saat membuat tampilan?
Nigel Waters
1
Katakanlah Anda ingin menambahkan tampilan yang memiliki nid sebagai filter kontekstual, dan Anda ingin memiliki tab untuk itu pada halaman node ... Anda akan menetapkan path sebagai node/%node/mypathdan memilih "tab Menu". "Tab menu Default" muncul ketika Anda menetapkan default untuk sekelompok tab, seperti pada contoh halaman node. node/[nid]/viewdan node/[nid]atasi ke halaman yang sama - satu-satunya tujuan dari yang pertama adalah untuk memastikan tab terlihat ketika Anda mengunjungi yang terakhir. Adakah yang lebih jelas? Cukup sulit untuk dijelaskan
Clive
Terima kasih telah meluangkan waktu Clive. Saya menghargainya. Saya pikir saya mengerti sekarang. Saya akan memberikan waktu untuk meresap :)
Nigel Waters