Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Pętla for - jak umieścić w smartach?
casperii
post
Post #1





Grupa: Zarejestrowani
Postów: 681
Pomógł: 28
Dołączył: 14.08.2014

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


Panowie mam problem ze wstawieniem wyniku w smartach.
Mój kod:
  1. $images = array('jeden.jpg','dwa.jpg','trzy.jpg');
  2. $text = array('pierwszy', 'drugi', 'trzeci');
  3. for ($i=0 ; $i<count($images) ; $i++) {
  4. <option value="$images[$i]">$text[$i]</option>
  5. }
  6. $i++;


O ile powyższy kod działa w czystym kodzie php , tak robiąc w smartach mam problem jak poprawnie ma to wyglądać.
Ktoś pomoże?
Go to the top of the page
+Quote Post
JoShiMa
post
Post #2





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


Wiem, że pytałeś panów, ale może przyjmiesz podpowiedź od kobiety (IMG:style_emoticons/default/wink.gif) http://blog.bexlab.pl/szablony-smarty-odc4-petla/24/
Go to the top of the page
+Quote Post
casperii
post
Post #3





Grupa: Zarejestrowani
Postów: 681
Pomógł: 28
Dołączył: 14.08.2014

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


@JoShiMa dzięki, ale nie jestem pewien czy {section} się sprawdzi, dużo się o tym piszę na forach , że powinno stosować się {foreach} , pozatym w tym {section} tylko 1 x pobrać mogę array, a ja potrzebuje 2 tablice wczytać do smartów.
Go to the top of the page
+Quote Post
kapslokk
post
Post #4





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


  1.  
  2. {foreach from=$images item=image key=k}
  3. <option value="{$image}">{$texts[$k]}</option>
  4. {/foreach}

Coś takiego może?

Że już nie wspomnę o:
http://www.smarty.net/docsv2/en/language.f...tml.options.tpl

Ten post edytował kapslokk 14.05.2016, 19:08:40
Go to the top of the page
+Quote Post
LowiczakPL
post
Post #5





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

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


przekombinowałem ale spradź czy o to Ci chodzi, mam nadzieję że rozumiesz co robi ten kod

  1. $images = array('jeden.jpg','dwa.jpg','trzy.jpg');
  2. $text = array('pierwszy', 'drugi', 'trzeci');
  3.  
  4. $ile = count($images);
  5.  
  6. for ($i=0 ; $i<$ile ; $i++) {
  7. $tab[$text[$i]] = $images[$i];
  8. }
  9.  
  10. $smarty->assign('Tablica', $tab);
  11.  
  12.  
  13.  
  14. // a to widok Smarty
  15.  
  16. {foreach from=$Tablica key=k item=v}
  17. <option value="{$k}">{$v}</option>
  18. {/foreach}
Go to the top of the page
+Quote Post
kapslokk
post
Post #6





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


Tak, przekombinowałeś: http://php.net/manual/en/function.array-combine.php
Go to the top of the page
+Quote Post
JoShiMa
post
Post #7





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


Cytat(casperii @ 14.05.2016, 18:46:30 ) *
@JoShiMa dzięki, ale nie jestem pewien czy {section} się sprawdzi, dużo się o tym piszę na forach , że powinno stosować się {foreach} , pozatym w tym {section} tylko 1 x pobrać mogę array, a ja potrzebuje 2 tablice wczytać do smartów.


Jak to dwa razy wczytać? Przecież raz lecisz po tej tablicy. Wyciągasz w pętli index z tablicy pierwszej (wszystko jest pięknie w dokumentacji smarty opisane) i po tym indeksie czytasz z drugiej tablicy. Możesz miec też tablicę złożoną z tablic dwuelementowych i czytać w pętli element pierwszy i element drugi. TO naprawde nie jest wyższa szkoła jazdy.

EDIT: http://www.smarty.net/files/docs/manual-en-2.6.pdf str 82-87

Ten post edytował JoShiMa 15.05.2016, 18:32:34
Go to the top of the page
+Quote Post

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: 17.10.2025 - 03:06