ฉันได้ทำการท่องเว็บแล้วและมันก็ไม่ชัดเจนว่าจะสร้างธีมเมนูที่กำหนดเองได้อย่างไร ฉันค้นหาเป็นเวลาหลายชั่วโมงและไม่พบโพสต์เดียวที่แสดงกระบวนการตั้งแต่ต้นจนจบการสร้างเมนูและปรับแต่งผลลัพธ์ของมัน ดูเหมือนว่านี่เป็นกระบวนการหลายขั้นตอน:
- สร้างเมนูผ่านอินเทอร์เฟซ 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