Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Smarty - section i indeksy tablic
marcini82
post
Post #1





Grupa: Zarejestrowani
Postów: 190
Pomógł: 1
Dołączył: 20.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Witam!

Mam w Smarty petle section, a w niej chce przegladac 2 tablice. Array1 jest indeksowana od 0 do 19 - i z tym nie ma problemu. Natomiast array2 jest indeksowana od 1 do 20 - czyli w tym samym powtorzeniu petli musze podac dla array2 wartosc indeksu o 1 wieksza. Tylko jak to zrobic?? Ponizszy przyklad powoduje blad:

  1. {section name=test start=0 loop=20}
  2. {$array1[test].value} {$array2[test+1].value}
  3. {/section}


Taki cudak rowniez nie dziala:
  1. {section name=test start=0 loop=20}
  2. {$array1[test].value} {$array2[$smarty.section.test.iteration].value}
  3. {/section}


Jak to zrobic?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Cienki1980
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


Dla tak stworzonych tablic w PHP możesz wykonać w Smartach takie coś:

  1. //kod php w którym tworzyłem sobie przykładowe tablice 
  2. <?php
  3.  
  4. for($i=0;$i<20;$i++)
  5. {
  6.  $tab[$i]['column_id']=rand(3,30);
  7. }
  8.  
  9. $x=rand(2,19);
  10.  
  11. for($r=1;$r<$x;$r++)
  12. {
  13.  $tab2[$r]['name']="jakis_name".$r;
  14. }
  15.  
  16.  
  17.  
  18. include('Smarty.class.php');
  19. $smarty = new Smarty;
  20.  
  21.  
  22. $smarty->assign('tab',$tab);
  23. $smarty->assign('tab2',$tab2);
  24. $smarty->display('testx.tpl');
  25. ?>


a pętla w Smartach wyglądała tak:
  1. <table width="100%">
  2. {section name=x loop=$tab}
  3. {assign var=g value=$smarty.section.x.index+1}
  4. <tr><td>{$tab[x].column_id}</td><td>{$tab2[$g].name}</td></tr>
  5. {/section}


Nie wiem czy o taki efekt Ci chodzi, ale może coś pomogłem.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 19:00