ฉันจะแสดงเมนูย่อยแยกจากทรีเมนูได้อย่างไร [ปิด]


8

ฉันกำลังพยายามแสดงเมนูย่อยระดับ 3 ทั้งหมดสำหรับรายการเมนูในหนึ่งหน้าโดยที่แต่ละรายการอยู่ในบล็อกการแสดงผลของตัวเอง ฉันได้ลองใช้โมดูลบล็อคเมนู แต่ดูเหมือนว่าจะใช้งานได้กับเทรลแอคทีฟเท่านั้นซึ่งหมายความว่าฉันสามารถแสดงเมนูระดับที่ 2 และระดับที่ 3 ทั้งหมดเป็นหนึ่งหน่วยแทนที่จะเป็นเมนูระดับที่ 3 เป็นหน่วยแยกต่างหาก

นอกจากโมดูลเมนูบล็อกแล้วฉันยังลองเข้าถึงแผนผังเมนูโดยตรงด้วยรหัสนี้

      $main = menu_navigation_links('main-menu', '2');
      echo theme('links__system_main_menu', array(
      'links' => $main,
      'attributes' => array(
      'id' => 'main-menu',
      'class' => array('links')
    ),
  ));
?>

นี่คือโครงสร้างเมนู:

- Parent Menu 1
- Parent Menu 2
  - Child Menu A
    - SubChild Menu 1A
    - SubChild Menu 2A
    - SubChild Menu 3A    
- Child Menu B
  - SubChild Menu 1B
  - SubChild Menu 2B
  - SubChild Menu 3B

สิ่งที่ฉันต้องการแสดงเมื่อเลือกเมนูหลัก 2:

บล็อก 1: เมนูย่อยเด็ก 1A | เมนูย่อยเด็ก 2A | เมนูย่อยเด็ก 3A

บล็อก 2: เมนูย่อยเด็ก 1B | เมนูย่อย 2B | เมนูย่อยเด็ก 3B

ความช่วยเหลือใด ๆ ในวิธีที่ถูกต้องในการแสดงเมนูย่อยแยกต่างหากจากต้นไม้ของพวกเขาจะได้รับการชื่นชมอย่างมาก


คุณต้องทำการดึงข้อมูลฐานข้อมูลโดยตรง
niksmac

คุณต้องตั้งค่าแหล่งที่มาสำหรับเมนูรองของคุณ แม้ว่ามันจะใช้สำหรับ Drupal 6 แต่วิดีโอนี้ช่วยฉันได้มากในการตั้งค่าสำหรับ Drupal 7: lullabot.com/node/444/play
ทิม

"เมนูย่อย A" และ "เมนูย่อย B" ไม่ใช่รายการเมนูจริง ๆ (เช่นพวกเขาเป็นเพียงส่วนหัวหรือตัวหาร) หรือไม่ ทำไมคุณต้องการ / จำเป็นที่จะต้องแยกเมนูย่อยทั้งสองออกเป็นบล็อกย่อย? ทางออกที่ดีที่สุด / ง่ายที่สุดอาจอยู่นอกเหนือจากสิ่งที่คุณพยายามทำที่นี่ดังนั้นมันจะช่วยให้ทราบว่าเป้าหมายที่แท้จริงของคุณคืออะไรเพื่อให้เราสามารถพิจารณาทางเลือกอื่น ๆ
sheena_d

ฉันลงเอยด้วยการดึงข้อมูลโดยตรง db:
user1240408

เมนูย่อย A และเมนูย่อย B เป็นรายการเมนูทั้งสอง ฉันกำลังพยายามแสดงเมนูย่อยทั้งหมดจากเมนูย่อย A ในบล็อกเดียวเมนูย่อยทั้งหมดจากเมนูย่อย B ในบล็อกอื่น ฯลฯ ทั้งหมดในหน้าเดียว เป็นหน้าสรุปสำหรับส่วนเมนูย่อยที่แตกต่างกันทั้งหมด
user1240408

คำตอบ:


5

ฉันคิดว่าวิธีที่ดีที่สุดที่จะดำเนินการคือเพียงใช้โมดูลบล็อกเมนู นี่คือคำพูดเกี่ยวกับมัน (จากหน้าโครงการของโมดูล):

... คุณเคยใช้ฟีเจอร์ลิงก์เมนูหลักและรองบนธีมของคุณแล้วหรือยังและสงสัยว่า "ฉันจะแสดงรายการเมนูที่ลึกกว่านี้ได้อย่างไร"

นั่นคือสิ่งที่โมดูลนี้ทำ มันมีบล็อกของเมนูต้นไม้ที่กำหนดค่าได้เริ่มต้นด้วยระดับของเมนูใด ๆ และอื่น ๆ!

ดังนั้นหากคุณใช้คุณสมบัติลิงก์เมนูหลักของธีมคุณสามารถเพิ่มและกำหนดค่าบล็อก "เมนูหลัก (ระดับ 2+)" บล็อกนั้นจะปรากฏขึ้นเมื่อคุณอยู่ในหนึ่งในหน้าหลักของเมนูและจะแสดงแผนผังเมนูสำหรับระดับที่ 2 (และลึกกว่า) ของเมนูหลักของคุณและจะขยายเมื่อคุณข้ามต้นไม้ คุณสามารถ จำกัด ความลึกของทรีของเมนู (เช่น“ เมนูหลัก (ระดับ 2-3)”) และ / หรือขยายเมนูย่อยย่อยทั้งหมด (เช่น“ เมนูหลัก (ระดับขยาย 2+)”)


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.