Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Smarty, rekurencja przy parent_id
malolat_ps
post 2.02.2011, 20:09:20
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 12.10.2008

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
wookieb
post 2.02.2011, 20:15:52
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




http://wortal.php.pl/Wortal/Artykuly/Pomys...rencja-w-Smarty


--------------------
Go to the top of the page
+Quote Post
malolat_ps
post 2.02.2011, 20:19:50
Post #3





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 12.10.2008

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
wookieb
post 3.02.2011, 13:15:06
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Ale nie wyjaśniłeś PO CO ci wszyscy rodzice. Sypnij kodem, przykładem, czymkolwiek dzięki czemu Cię zrozumiemy.


--------------------
Go to the top of the page
+Quote Post
malolat_ps
post 3.02.2011, 16:20:32
Post #5





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 12.10.2008

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
wookieb
post 3.02.2011, 16:33:02
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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


--------------------
Go to the top of the page
+Quote Post
malolat_ps
post 3.02.2011, 16:57:20
Post #7





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 12.10.2008

Ostrzeżenie: (0%)
-----


Ok, więc jak teraz zagnieździć tą tablicę, którą mam zwróconą przez zapytanie? Nie mogę wpaść na żaden pomysł.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 07:50