Jak wyświetlić podmenu oddzielnie od drzewa menu? [Zamknięte]

8

Próbuję wyświetlić wszystkie podmenu 3. poziomu dla pozycji menu na jednej stronie, przy czym każdy z nich ma własny blok wyświetlania. Wypróbowałem moduł Blok menu, ale wydaje się, że działa tylko w przypadku aktywnej ścieżki, co oznacza, że ​​mogę wyświetlać wszystkie menu drugiego poziomu i trzeciego poziomu jako jedną jednostkę, a nie tylko menu trzeciego poziomu jako oddzielne jednostki.

Oprócz modułu Blok menu, próbowałem również uzyskać dostęp do drzewa menu bezpośrednio za pomocą tego kodu.

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

Oto struktura menu:

- 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

Co chciałbym wyświetlić po wybraniu Menu rodzica 2:

Blok 1: Menu SubChild 1A | Menu podrzędnego 2A | Menu SubChild 3A

Blok 2: Menu SubChild 1B | Menu podrzędnego 2B | SubChild Menu 3B

Doceniona zostanie jakakolwiek pomoc we właściwym sposobie wyświetlania podmenu oddzielnie od drzewa.

użytkownik1240408
źródło
Musisz wykonać bezpośrednie pobieranie bazy danych.
niksmac,
Musisz ustawić źródło dla drugiego menu. Chociaż dotyczy Drupala 6, ten film bardzo mi pomógł skonfigurować go w Drupal 7: lullabot.com/node/444/play
Tim
Czy „Menu podrzędne A” i „Menu podrzędne B” nie są tak naprawdę elementami menu (tj. Czy służą jedynie jako nagłówki lub dzielniki)? Ponadto, dlaczego dokładnie chcesz / musisz podzielić dwa podmenu na osobne bloki? Najlepsze / najłatwiejsze rozwiązanie może leżeć poza tym, co próbujesz tutaj zrobić, więc pomogłoby to dowiedzieć się, jaki jest twój prawdziwy cel końcowy, abyśmy mogli rozważyć inne opcje.
sheena_d
Skończyło się na bezpośrednim pobieraniu
bazy danych
Menu podrzędne A i menu podrzędne B są elementami menu. Próbuję wyświetlić wszystkie podmenu z menu podrzędnego A w jednym bloku, wszystkie podmenu z menu podrzędnego B w innym bloku itp., Wszystkie na jednej stronie. Jest to strona podsumowania dla wszystkich różnych sekcji Menu podrzędnego.
user1240408,

Odpowiedzi:

5

Myślę, że najlepszym sposobem na to jest po prostu użycie modułu bloku menu . Oto cytat na ten temat (ze strony projektu modułu):

... czy kiedykolwiek używałeś w swoim motywie funkcji menu głównego i pomocniczego i zastanawiałeś się „jak, u diabła, mogę wyświetlić głębsze elementy menu?”

To właśnie robi ten moduł. Zapewnia konfigurowalne bloki drzew menu, zaczynając od dowolnego poziomu dowolnego menu. I więcej!

Jeśli więc używasz tylko funkcji linków do głównego menu motywu, możesz dodać i skonfigurować blok „Menu główne (poziomy 2+)”. Blok ten pojawiałby się, gdy byłeś na jednej ze stron menu głównego i pokazywał drzewo menu dla 2. poziomu (i głębiej) twojego menu głównego i rozwijał się, gdy przechodziłeś w dół drzewa. Możesz także ograniczyć głębokość drzewa menu (np. „Menu główne (poziomy 2-3)”) i / lub rozwinąć wszystkie podmenu podrzędne (np. „Menu główne (poziomy rozszerzone 2+)”).

Manuel Garcia
źródło