Saya telah membuat menu khusus (sebut saja "mynav") dan dalam tema saya, saya telah membuat templat khusus untuk itu ( block--menu--menu-mynav.tpl.php
) yang berisi:
<div id="mynav" class="<?php print $classes; ?>"<?php print $attributes; ?>>
<?php print $content ?>
</div>
Ini berfungsi dengan baik.
Namun saya lebih suka menerapkan id ke daftar unordered yang dihasilkan dan terkandung di dalamnya $content
. Saya kira saya perlu membuat fungsi MYTHEME_links__system_mynav_menu
seperti ini:
function MYTHEME_links__system_mynav_menu($variables) {
return "TEST"; // Generate HTML here (<ul id="mynav">...)
}
tetapi tampaknya tidak memiliki pengaruh.
Apa yang saya lakukan salah?
Jawaban:
Untuk memilih tema dari daftar yang tidak diurutkan, Anda perlu memanggil theme_menu_tree (). Anda dapat mengedit template.php Anda untuk memanggil ini.
Lalu, jika Anda ingin menentukan tema tautan Anda, panggil theme_menu_link ().
Sekarang, masalah dengan Drupal 7 adalah bahwa ada bug besar ketika datang untuk menampilkan jejak aktif menu kustom.
Lihat masalah
Masalah # 520106 - Tidak ada cara untuk secara dinamis menetapkan jejak aktif.
Masalah # 942782 - Menu khusus tidak pernah menerima jejak yang aktif
Anda pada dasarnya kurang beruntung jika Anda ingin beberapa menu kustom yang benar. Masalah-masalah ini sudah lama berdiri di komunitas drupal jadi saya tidak yakin apakah mereka akan diperbaiki dalam waktu dekat. Saya tidak tahu apakah ada beberapa PHP yang bisa membantu. Anda dapat beralih ke beberapa modul alternatif untuk membantu memudahkan fungsionalitas, seperti Menu Attributes dan Menu Block . Mereka berdua dapat membantu menyiasati sistem menu kasar di Drupal 7.
sumber
Di dalam template.php tema Anda, ini adalah cara untuk melakukan sesuatu di Drupal 6
Di Drupal 7 Anda perlu menelepon
sumber
MYTHEME_menu_link
tampaknya hanya menangani tautan individual. Saya tidak dapat mencapaiul
.