Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Smarty, rekurencja przy parent_id
Forum PHP.pl > Forum > PHP
malolat_ps
Wiem, że masę było tego typu tematów, ale nie udało mi się znaleźć tego, co potrzebuję. Tworzę drzewo kategorii, posiadam jedynie id rodzica każdej z kategorii. Kategorie z parent_id == '0' to korzenie. Ma ktoś jakiś sposób, jak w Smarty zrobić rekurencję, kiedy znam tylko najbliższego przodka?
malolat_ps
Na ten artykuł trafiłem, ale żeby zastosować ten sposób muszę znać wszystkich przodków elementu, a znam tylko ostatniego. Coprawda mogę przemaglować tablicę tak, żeby zapisać do niej wszystkich, ale spowolni to czas skryptu, więc chciałbym zrobić to inaczej. Nie ma żadnego innego sposobu?
wookieb
Ale nie wyjaśniłeś PO CO ci wszyscy rodzice. Sypnij kodem, przykładem, czymkolwiek dzięki czemu Cię zrozumiemy.
malolat_ps
Mam taką tablicę:
  1. Array ( [0] => Array ( [id] => 1 [title] => pierwsza [parent] => 0 ) [1] => Array ( [id] => 2 [title] => druga [parent] => 0 ) [2] => Array ( [id] => 7 [title] => czwarta [parent] => 0 ) [3] => Array ( [id] => 5 [title] => trzecia [parent] => 2 ) [4] => Array ( [id] => 13 [title] => nagłówekxx [parent] => 0 ) [5] => Array ( [id] => 12 [title] => nagłówek [parent] => 0 ) [6] => Array ( [id] => 14 [title] => news [parent] => 0 ) [7] => Array ( [id] => 16 [title] => nazwa [parent] => 0 ) [8] => Array ( [id] => 15 [title] => subkategoria [parent] => 5 ) )


Wartość klucza parent przechowuje id rodzica. W tym przykładzie rodzicem kategorii o id 15 (subkategoria) jest kategoria o id 5 (trzecia), z kolei jej rodzicem jest id 2 (druga). Więc powinno się to wyświetlić tak:

druga
-trzecia
--subkategoria

Chociaż tego pewnie nie muszę Wam tłumaczyć smile.gif Przekazuję tą tablicę do smarty, ale nie jestem w stanie wyświetlić tego z możliwością nieskończonej ilości podkategorii.
Mam nadzieję, że teraz wyjaśniłem w miarę zrozumiale.
wookieb
Dlatego w linku, który dostałeś było jasno pokazane, że tablice z dziećmi muszą się zagnieżdzać
http://php.pl/phppl/Wortal/Artykuly/Pomysl...rencja-w-Smarty

Przykład w artykule
malolat_ps
Ok, więc jak teraz zagnieździć tą tablicę, którą mam zwróconą przez zapytanie? Nie mogę wpaść na żaden pomysł.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.