Juz ci mowilem: smarty widzic cos jako tekst, tylko dlatego ,ze tekst mu zapodajesz. Zrozum to w koncu. Nie zwalaja winy na smarty gdy sam nie ogarniasz za bardzo co masz
Kolejna sprawa: nie wkladaj BBCODE (pogrubienia) w kod php, bo tylko zaciemniasz kod....
Trzecia sprawa: nie podales jak to w smarty to obrabiasz
No i poczwarte: nie, w php tez to ci nie dziala. Przechodzi ci ten kod w php, tylko dlatego ze czyste stare php jest mniej restrykcyjne niz smarty. W tym "czystym" php stworzyles niestety pare bledow
Takze podsumowujac: przestan szukac w winy w smarty. Zacznij wpierw moze zrozumiec, jak wyglada twoja struktura danych, bo z tym masz niesamowity problem
Dobra, zebym nei byl goloslowny
foreach ($tablica as $idCat => $val){
echo '<strong>' . $val['nrAuto'] . ' - ' . $val['name'] . ' - ' . $val['model'] . '</strong>'; //!!!!! $val['model'] to tablica. Po grzyba wkladasz to do tekstu? Przeciez to ci da tekst 'array' i nic wiecej foreach ($val['model'] as $value){
echo $value['desc'] . ' - ' . $value['kolor'] . '<br>'; //!!!!! $value['kolor'] to tablica. Po grzyba wkladasz to do tekstu? Przeciez to ci da tekst 'array' i nic wiecej
foreach (array($value['model']) as $row3){ //!!!!$value['model'] wogole nie istnieje!!!!. A ty jeszcze robic z tego tablicu w rezultacie otrzymasz array(null) .... caly ten foreach jest totalnie zbedny!! echo $row3['newId'] . ' - ' . $row3['descTwo'] . '<br>'; }
}
$link[] = $val;
}
A o to poprawny kod php
foreach ($tablica as $idCat => $val){
echo '<strong>' . $val['nrAuto'] . ' - ' . $val['name'] . ' - MODELE:</strong>'; foreach ($val['model'] as $value){
echo $value['desc'] . ' - KOLORY:<br>'; echo $value['kolor']['newId'] . ' ' . $value['kolor']['descTwo'] . '<br>'; }
}
Prosze, majac ten POPRAWNY kod php, moze w koncu bez problemu przeniesiesz to do smarty, bez tworzenia sztucznych pustych tablic itp
I sprobuj tez zapamietac (a juz to przerabialismy w pierwszym kodzie z poczatku twojego tematu), ze nie pokazdej tablicy sie iteruje FOREACH.
np tutaj:
$value['kolor']['newId']
juz sie nie tworzy dodatkowego FOREACH jak to probowales nieudolnie zrobic. Jak znasz indeksy, ktore chcesz wyciagnac to FOREACH jest zbedny. FOREACH jest tyko dla danych DYNAMICZNYCH
A, i jeszcze jedno bardzo wazne:
Wlacz wyswietlanie wszystkich bledow