Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Smarty] nie wyświetla tablic
Forum PHP.pl > Forum > Gotowe rozwiązania > Systemy szablonów
cornholio666
Witam,

Przyklad:

index.php
  1. <?php
  2. require('f:/smarty/libs/Smarty.class.php');
  3.  
  4. $smarty = new Smarty;
  5.  
  6. $smarty->template_dir = 'd:/Apache2.2/htdocs/pm/smarty/templates';
  7. $smarty->config_dir = 'd:/Apache2.2/htdocs/pm/smarty/configs';
  8. $smarty->cache_dir = 'f:/smarty/smarty_cache';<!--html--><div class='htmltop'>HTML</div><div class='htmlmain'><!--html1-->$smarty->compile_dir = 'f:/smarty/templates_c';
  9.  
  10. $smarty->assign('name','fish boy!');
  11.  
  12. $smarty->display('index.tpl');
  13. ?>


index.tpl
  1. {$name}


Dziala elegancko ale jak zrobie tak:

index.php
  1. <?php
  2. .
  3. .
  4. .
  5. $smarty->assign('id', array(1,2,3,4,5));
  6. $smarty->assign('names', array('bob','jim','joe','jerry','fred'));
  7.  
  8. // display it
  9. $smarty->display('index.tpl');
  10. ?>


index.tpl
[/php]
  1. .
  2. .
  3. .
  4. Friends List:
  5. {section name=i loop=$friends}
  6. {$friends[i]}<br>
  7. {/section}



To sie nic nie wyświetla...

Jakies sugestje ? smile.gif
nospor
Nie zebym sie czepil, ale lecisz petla po friends, ale do smartieego to ty friends nie przypisujesz.... ty zrob to co robi Kubus Puchatek w moim podpisie tongue.gif

edit: a tak pozatym to do petli lepszy jest:
http://smarty.php.net/manual/en/language.f...ion.foreach.php
cornholio666
Sorry przepisalem z innego skryptu.. lepiej dam linka

http://codewalkers.com/tutorials/56/3.html

Przyklad na samym dole nie chodzi (nie wyswietla nic)

Przyklad z Twojego linka

  1. <?php
  2. $arr = array( 1001,1002,1003);
  3. $smarty->assign('custid', $arr);
  4. ?>


  1. {foreach from=$custid item=curr_id}
  2. id: {$curr_id}<br />
  3. {/foreach}


Też nie działa
nospor
Hmmm, wyglada tak jakbys jednak nie przekazal tej wartosci...
W index.tpl daj tak:
{$custid}
Jak pojawi ci sie slowko "array" to przypisalo, jak nie to nie.
Moze cache, tudziez templates_c ci sie nie odswierzylo. wyczysc wszystkie cache i templaty, sprawdz czy wogole ci sie kod wykonuje dalej po assign: daj echo 'costam'; i takie tam. debuguj kolego, debuguj...
o, to moze byc kolejne fajne haslo dla kubusia debuggera biggrin.gif
cornholio666
Ciesze się że przyczyniłem się do rozwoju twego opisu smile.gif

Cytat
W index.tpl daj tak:
{$custid}


Nic nie wypisuje

Wyczyścłem katalogi jak mówiłeś... nic

Cytat
alej po assign: daj echo 'costam';


dalej nic... I dziwne bo tylko przy tablicach tak jest.
nospor
a pokaz jeszcze raz caly kod z tablicami i inicjalizacją smartiego. pozatym wlacz se debugowanie wszystkich bledow, bo pewnie masz cos w skrypcie nie tak.

rob testy. wykomentuj kawalek kodu i sprawdź czy dziala, wal po wszsytkim echo 'test'; i patrz ktore sie wyswietli a ktore nie. no musisz sam sobie tez radzic winksmiley.jpg
cornholio666
withstupidsmiley.gif

Skorzystałem jeszcze raz z "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca - edytowalem nie ten plik tpl...

Sorry za zamieszanie i dzieki
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.