Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]nie wyświetlanie tablicy, smarty
Forum PHP.pl > Forum > Przedszkole
Cromwell
Mam pewien problem.
W pliku php mam
  1. $smarty -> assign('dane', unserialize($wynik['dane']));

$wynik['dane'] to tablica, zawierająca dwa rodzaje wartości - nazwa i liczba.
Natomiast w pliku tpl coś takiego
  1. {if $dane ne ""}
  2. <div class="box">
  3. <tr>
  4. <th width="150px">Nazwa</th>
  5. <th width="70px">Liczba</th>
  6. </tr>
  7. {foreach from=$dane item=item}
  8. {if $item.nazwa ne ""}
  9. <tr>
  10. <td>{$item.nazwa}</td>
  11. <td>{$item.liczba} zł</td>
  12. </tr>
  13. {/if}
  14. {/foreach}
  15. </div>
  16. {/if}


Chcę ukryć te elementy, jeśli nie ma w nich danych. Jednak o ile {if $dane ne ""} działa dla pojedynczych wartości, to dla tablicy nie chce.
Szukałem w dokumentacji smarty, znalazłem coś takiego {if isset($foo) }. Niestety, to nic nie daje. Jeśli zamiast tego dam {if !isset($foo) }, wtedy ukrywa mi elementy, ale wszystkie - nie zależnie, czy są w nich dane, czy nie.
nmts
Może coś takiego?

  1. {section name=count loop=$dane}
  2. {if $smarty.section.count.first}
  3. /* część statyczna - header*/
  4. <div class="box">
  5. <tr>
  6. <th width="150px">Nazwa</th>
  7. <th width="70px">Liczba</th>
  8. </tr>
  9. {/if}
  10. {/section}
  11.  
  12. /* tutaj kod pętli foreach */
  13.  
  14. {section name=count loop=$dane}
  15. {if $smarty.section.count.last}
  16. /* część statyczna - footer*/
  17. </div>
  18. {/if}
  19. {/section}

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.