Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [smarty] Pamiętanie poprzedniej zmiennej w funkcji {section}
Forum PHP.pl > Forum > Gotowe rozwiązania > Systemy szablonów
nexis
Witam,

wykonuję pętlę za pomocą funkcji {section}{/section} i mam pytanie:

czy istnieje możliwość stworzenia warunku {if}, który będzie w stanie porównać zmienną z obecnego przebiegu pętli oraz o jeden wstecz?

Za pomocą tej pętli wyświetlam nazwy różnych miast z bazy danych i chcę uniknąć powtarzaniu się miast przy wyświetlaniu (w bazie musi być kilka wpisów z tym samym miastem).

Obecnie wygląda to tak, gdzie sam Płock wyświetla się 9 razy, a powinien tylko raz, a wszystkie sklepy pod nim bez powtarzania nazwy miasta:

ROBICO
mhs
Tak, istnieje taka możliwość. Zobacz na ten fragment kodu. Jest on żywcem wyrwany w pliku, ale mam nadzieje, ze Ci pomoze. Genralnie zainteresuj sie: index_prev, index_next

  1. {section name=c loop=$cennik}
  2.  
  3. {* region *}
  4. {if $smarty.section.c.first}
  5. <tr>
  6. <td colspan="5" class="region">
  7. Region {$cennik[c].r_nazwa}
  8. </td>
  9. </tr>
  10. {elseif $smarty.section.c.first == false && $smarty.section.c.last == false}
  11. {if $cennik[c].r_id != $cennik[c.index_prev].r_id}
  12. <tr><td colspan="5" class="region">
  13. Region {$cennik[c].r_nazwa}
  14. </td></tr>
  15. {/if}
  16. {/if}
  17. {/section}
nexis
Wielkie dzięki. smile.gif W dokumentacji bym tego pewnie szukał sporo czasu.
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.