Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: {section} w smarty
Forum PHP.pl > Forum > Gotowe rozwiązania > Systemy szablonów
Kyle
Heloł winksmiley.jpg
Takie szybkie pytanko.
Dzisiaj zacząłem się bawić w smarty. Mam szablon, testowo chciałem sobie wyświetlić jakąś tablicę żeby zobaczyć jak to działa.
No i w index.php tworzę taką zmienną:
Kod
$brain = array("date" => array("Data1", "Data2", "Data3", "Data4", "Data5"), "msg" => array("Lorem", "Ipsum", "Sit", "Dolor", "Amet"));


A w index.tpl taki kod:
Kod
{section name=index loop=$brain}
                         <p>{$brain.date[index]}</p>
                         <p class="brainmsg">{$brain.msg[index]}</p>
                         {/section}


Kto mi powie w którym miejscu jest błąd, że pętla wykonuje tylko dwie iteracje, a nie pięć?
W php też od niedawna się bawię więc jakby co to nie krzyczeć %-)
ziqzaq
Nie używam Smarty, ale chyba iterujesz po tablicy $brain a ona ma dwa elementy (dwie tablice: date i msg).
Logiczne jest więc, że pętla ma tylko dwa przebiegi.
Na szybko:
  1. <?php
  2. $date = array("Data1", "Data2", "Data3", "Data4", "Data5");
  3. $msg = array("Lorem", "Ipsum", "Sit", "Dolor", "Amet");
  4. ?>

  1. <?php
  2. {section name=index loop=$date}
  3. <p>{$date[index]}</p>
  4. <p class="brainmsg">{$msg[index]}</p>
  5. {/section}
  6. ?>

Nie znam składni Smarty, więc sobie dostosuj.

Edit:
Literówka w kodzie.
Kyle
No tak, to wiem.
Aleee, idąc tokiem rozumowania mini kursu z smarty.net myślałem, że ta pętla przeleci po wszystkich elementach wewnętrznych też. Jak widać myliłem się biggrin.gif
To teraz się zastanawiam czy da się to zrobić w jednej pętli? Wie ktoś? Bo w dwóch zaraz spróbuję to już chyba zadziała.

EDIT:
Dobraaa... już załapałem o co chodzi winksmiley.jpg
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.