• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Menu i podmenu problem z wyświetlaniem w Twigu

0 głosów
51 wizyt
pytanie zadane 21 sierpnia 2018 w PHP, Symfony, Zend przez zirael [PL] Mądrala (5,200 p.)

Witam,

staram się nauczyć programowania obiektowego wraz z rodzielaniem kodu według MVC i póki co utknąłem na tworzeniu menu i podmenu.

W tabeli  mam 4 kolumny: (id, name, url i parent_id). Pierwsze 4 wiersze to nazwy menu wraz z parent_id = 0. Każdy kolejny wiersz to nazwa podmenu z parent_id przypisanym w zależności od przypisanego menu.

Pobieram dane i wyświetlam w następujący sposób:

$mainMenu = $db->query('SELECT * FROM menu');
$menu = $mainMenu->fetchAll(PDO::FETCH_OBJ);

foreach($menu as $primary) {
    if($primary->parent_id == 0){
        $main[$primary->id] = $primary;
    }
}

echo $twig->render('menu.html', array(
        'mainMenu' => $main
));

TWIG: 

{% for main_menu in mainMenu %}
                <li class="dropdown">
                    <a href="{{ main_menu.url}}" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{ main_menu.name}}<span class="caret"></span></a>
                    <ul class="dropdown-menu">
                        {% for subs in main_menu.subMenu %}
                        {{ dump(subs) }}
                            <li><a href="#">{{ sub.name}}</a></li>
                        {% endfor %}
                    </ul>
                </li>
{% endfor %}

Główne menu działa prawidłowo, ale chciałem zrobić dropdown-menu i wyświetlać pogrupowane tak jak miały przypisane parent_id.

 

To wymyśliłem coś takiego:

foreach($menu as $secondary) {
    if($secondary->parent_id != 0)
    {
        $sub[$secondary->parent_id][$secondary->id] = $secondary;
    }
}

Próbowałem jakoś to wyświetlać w Twigu ale ciągle dostaję informację o stdCLass Object i nie wiem jak mam w tę pętlę zbudować w PHP a do tego wyświetlnić dropdown.

 

Proszę bardzo o pomoc,

Pozdrawiam!

 

 

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

–1 głos
1 odpowiedź 140 wizyt
0 głosów
0 odpowiedzi 42 wizyt
0 głosów
0 odpowiedzi 71 wizyt
pytanie zadane 17 listopada 2017 w PHP, Symfony, Zend przez TeslaX93 Gaduła (3,220 p.)
Porady nie od parady
Forum posiada swój własny chat IRC, dzięki któremu będziesz mógł po prostu pogadać z innymi Pasjonatami lub zapytać o jakiś problem. Podstrona z chatem znajduje się w menu pod ikoną człowieka w dymku.IRC

64,981 zapytań

111,459 odpowiedzi

234,638 komentarzy

46,802 pasjonatów

Przeglądających: 217
Pasjonatów: 4 Gości: 213

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...