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.


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+)”).


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.