ฉันได้ทำการท่องเว็บแล้วและมันก็ไม่ชัดเจนว่าจะสร้างธีมเมนูที่กำหนดเองได้อย่างไร ฉันค้นหาเป็นเวลาหลายชั่วโมงและไม่พบโพสต์เดียวที่แสดงกระบวนการตั้งแต่ต้นจนจบการสร้างเมนูและปรับแต่งผลลัพธ์ของมัน ดูเหมือนว่านี่เป็นกระบวนการหลายขั้นตอน:
- สร้างเมนูผ่านอินเทอร์เฟซ Drupal
- สร้างฟังก์ชั่นชุดรูปแบบใน
template.phpไฟล์ของคุณเพื่อจัดรูปแบบผลลัพธ์ - แสดงเมนูนี้เป็นไฟล์เทมเพลต (อย่างใด) โดยเพิ่มเป็นตัวแปร
- เรียกใช้
themeฟังก์ชันบนเมนูในไฟล์เทมเพลต
1 ก็พอง่ายที่จะทำปัญหาที่ผมวิ่งเข้ามาอยู่กับ 2, 3, และ 4 $main_menuมองไปที่แม่แบบหน้าเริ่มต้นผมเห็นว่ามันเสี่ยงเมนูหลักในตัวแปร หลังจากนั้นหน้าคุณสามารถเห็นฟังก์ชั่นtheme('links__system_main_menu', array('links' => $main_menu...ซึ่งหมายความว่ามันกำลังมองหาฟังก์ชั่นชุดรูปแบบที่มีชื่ออย่างเหมาะสมบางแห่งและใช้มันเพื่อสร้างผลลัพธ์
ฉันรู้ว่าถ้าผมวางfunction theme_links__system_main_menu(&$variables) {...}ในแฟ้มของฉัน template.php Drupal function theme_menu_links(&$variables) {...}จะใช้ฟังก์ชั่นที่ตรงข้ามกับ
สิ่งที่ฉันไม่รู้คือวิธีที่ Drupal เชื่อมโยงเมนูที่กำหนดเองที่ฉันสร้างขึ้นด้วยฟังก์ชันนั้น พูด Let 's My Menuเช่นที่ฉันสร้างเมนูที่เรียกว่า ฉันสามารถสร้างฟังก์ชั่นต่อไปนี้ในtemplate.phpไฟล์ของฉันและจัดรูปแบบผลลัพธ์ของเมนูนั้นได้หรือไม่?function theme_links__system_my_menu(&$variables) {...}
นอกจากนี้วิธีที่ทำให้เมนูกำหนดเองนั้นพร้อมใช้งานสำหรับไฟล์เทมเพลต Drupal เปิดเผย$main_menuตัวแปรให้กับ page.tpl.php อย่างไร
ฉันคิดว่ากุญแจที่ฉันหายไปที่นี่คือวิธีฝังตัวแปรที่แสดงเมนูที่กำหนดเองลงในหน้าเทมเพลต ส่วนใหญ่แม้ว่าฉันจะสูญเสียอย่างสมบูรณ์กับสิ่งที่ต้องทำหลังจากสร้างเมนู
ขอบคุณสำหรับความช่วยเหลือ
แก้ไข:อาจจะโพสต์สิ่งที่ฉันทำ ตามความคิดเห็นของฉันไปยัง BetaRide ด้านล่างฉันต้องฉีด HTML ที่กำหนดเองลงใน<li>องค์ประกอบของรายการเมนู โดยเฉพาะฉันเพิ่มไอคอน Twitter Bootstrap