Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: smarty i stripslashes
Forum PHP.pl > Forum > Gotowe rozwiązania > Systemy szablonów
maciu
Mam tablicę, której zawartością są dane pobrane z bazy danych.

Teraz chcę wyświetlić dane z tej tablicy w smarty.
  1. <?php
  2.  
  3. function wyswietl() {
  4. $sql = 'SELECT * FROM tabela ';
  5. $result = $this->db->query($sql);
  6.  
  7. $data = array();
  8. while($row = $this->db->fetch($result,$type)) {
  9.  $this->data[] = $row;
  10. }
  11. return $this->data;
  12. }
  13.  
  14. $array = wyswietl();
  15. $template->assign('dane', $array);
  16. $template->display('tresc.tpl');
  17.  
  18. ?>


Kod
{section name=i loop=$dane}
    {$smarty.section.i.iteration}
    {$dane[i].imie}
    {$dane[i].nazwisko}
    {$dane[i].glosy}
{/section}

problem polega na tym, że jeśli dane w bazie zawierają cudzysłowa, apostrofy to wyświetla je ze slashem. Dlatego trzeba zastosować funkcję stripslashes().
Ale gdzie mam to zrobić?

Nie chciałbym, aby stripslashes był już zastosowany w tablicy, jak to jest pokazane w manualu

Smarty jakoś sobię z tym radzi?
mike
Nawet jak Smarty czegoś nie ma to łatwo sobie to dopisać :-)

Wkej ten plik do folderu plugins:

modifier.stripslashes.php
  1. <?php
  2. /**
  3.  * Smarty plugin
  4.  * @package Smarty
  5.  * @subpackage plugins
  6.  */
  7.  
  8. /**
  9.  * Smarty fck modifier plugin
  10.  *
  11.  * Type:  modifier<br>
  12.  * Name:  stripslashes<br>
  13.  * Purpose: stripslashes
  14.  * @param string
  15.  * @return string
  16.  */
  17.  
  18. function smarty_modifier_stripslashes( $string )
  19. {
  20. return stripslashes( $string );
  21. }
  22.  
  23. ?>


Kod
{$variable|stripslashes}
son
A nie łatwiej {$var|sslash}?
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.