Saya sudah menjelajahi web dan sama sekali tidak jelas bagaimana tema menu kustom. Saya telah mencari selama berjam-jam dan belum menemukan satu posting pun yang menggambarkan proses, dari awal hingga selesai, membuat menu dan menyesuaikan hasilnya. Sepertinya ini adalah proses multi-tahap:
- Buat menu melalui antarmuka Drupal.
- Buat fungsi tema di
template.php
file Anda untuk tema output. - Paparkan menu ini ke file template (entah bagaimana) dengan menambahkannya sebagai variabel.
- Panggil
theme
fungsi pada menu di file templat.
1 cukup mudah untuk dilakukan, masalah yang saya hadapi adalah dengan 2, 3, dan 4. Melihat template halaman default, saya melihat bahwa ia mengekspos menu utama dalam variabel $main_menu
. Kemudian di bawah halaman Anda dapat melihat fungsi theme('links__system_main_menu', array('links' => $main_menu...
, yang berarti sedang mencari fungsi tema yang tepat di suatu tempat dan menggunakannya untuk menghasilkan output.
Saya tahu jika saya menempatkan function theme_links__system_main_menu(&$variables) {...}
file template.php saya, Drupal akan menggunakan fungsi itu sebagai lawan function theme_menu_links(&$variables) {...}
.
Yang tidak saya ketahui adalah bagaimana Drupal menautkan menu khusus yang saya buat dengan fungsi itu. Katakanlah misalnya saya membuat menu bernama My Menu
. Bisakah saya membuat fungsi berikut dalam template.php
file saya dan tema output untuk menu itu?function theme_links__system_my_menu(&$variables) {...}
Juga, bagaimana cara membuat menu khusus tersedia untuk file template? Bagaimana cara Drupal mengekspos $main_menu
variabel ke page.tpl.php?
Saya pikir kunci yang saya lewatkan di sini adalah bagaimana menanamkan variabel yang mewakili menu khusus saya ke halaman templat. Namun sebagian besar saya benar-benar bingung dengan apa yang harus dilakukan setelah membuat menu.
Terima kasih untuk bantuannya.
EDIT: Mungkin harus memposting apa yang saya lakukan. Per komentar saya untuk BetaRide di bawah ini, saya perlu menyuntikkan HTML khusus ke dalam <li>
elemen - elemen menu. Secara khusus, saya menambahkan ikon Bootstrap Twitter.