Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Liczenie elementow w smarty?
Forum PHP.pl > Forum > Gotowe rozwiązania > Systemy szablonów
snipe
Szukalem w manualu smarty, ale jakos nie znalazlem, wiec pytam, czy w smarty jest jakas funkcja ktora liczy elementy cos jak count w php?? Bo w smarty znalazlem tylko total do section sadsmiley02.gif
mike
Nic nie stoi na przeszkodzie żeby sobie napisać taki modyfikator:
  1. <?php
  2. /**
  3.  * Smarty plugin
  4.  * @package Smarty
  5.  * @subpackage plugins
  6.  */
  7.  
  8.  
  9. /**
  10.  * Smarty count modifier plugin
  11.  *
  12.  * Type:  modifier<br>
  13.  * Name:  count<br>
  14.  * Purpose: count the number of elements
  15.  * @param mixed
  16.  * @return integer
  17.  */
  18. function smarty_modifier_count( $mixed )
  19. {
  20. return count( $mixed );
  21. }
  22.  
  23. ?>
Wrzucasz to do folderu plugins

Potem masz:
.php
  1. <?php
  2.  
  3. $arrTab = array( 1, 2, 3, 4, 5 );
  4.  
  5. $objSmarty->assign( 'TAB', $arrTab );
  6.  
  7. //...
  8.  
  9. ?>

.tpl
Kod
{$TAB|count}


wynik
Cytat
5
FiDO
Nie trzeba nic robic.. Smarty standardowo dopuszcza uzycie funkcji count jako modyfikatora, tylko trzeba jej uzyc poprzedzajac ja @, zeby zostala wykonana na calej tablicy a nie kazdy jej elemencie. Przyklad z manuala:
Kod
{$articleTitle|@count}
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.