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.phpfile Anda untuk tema output. - Paparkan menu ini ke file template (entah bagaimana) dengan menambahkannya sebagai variabel.
- Panggil
themefungsi 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.phpfile 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_menuvariabel 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.