Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][Smarty] Problem z wyświetlaniem
sebekzosw
post
Post #1





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

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


Chciałbym uzyskać taki wynik (screen):

  1. <style type="text/css">
  2. .zielony {
  3. float: left;
  4. width:291px;
  5. height:139px;
  6. padding-left: 15px;
  7. padding-right: 15px;
  8. padding-top: 15px;
  9. margin-top: 8px;
  10. background-color:#008000;
  11. }
  12.  
  13. .czerwony {
  14. float: left;
  15. width:291px;
  16. height:139px;
  17. padding-left: 15px;
  18. padding-right: 15px;
  19. padding-top: 15px;
  20. margin-left: 8px;
  21. margin-right: 8px;
  22. margin-top: 8px;
  23. background-color:#CA0000;
  24. }
  25.  
  26. <div style="width:980px;margin:0 auto;">
  27. <div class="zielony">zielony</div>
  28. <div class="czerwony">czerwony</div>
  29. <div class="zielony">zielony</div>
  30.  
  31. <div class="zielony">zielony</div>
  32. <div class="czerwony">czerwony</div>
  33. <div class="zielony">zielony</div>
  34. </div>


Tylko, że za pomocą smarty - nie mam bladego pojęcia jak zrobić pętlę ;/

Oto kod PHP:
  1. <?
  2. $tablica = array();
  3. for($i=0;$i<20;$i++) array_push($tablica, $i);
  4. $smarty->assign('tablica', $tablica);
  5. $smarty->display("test.tpl");
  6. ?>


a tu kod Smarty:

  1. {literal}
  2. <style type="text/css">
  3. .zielony {
  4. float: left;
  5. width:291px;
  6. height:139px;
  7. padding-left: 15px;
  8. padding-right: 15px;
  9. padding-top: 15px;
  10. margin-top: 8px;
  11. background-color:#008000;
  12. }
  13.  
  14. .czerwony {
  15. float: left;
  16. width:291px;
  17. height:139px;
  18. padding-left: 15px;
  19. padding-right: 15px;
  20. padding-top: 15px;
  21. margin-left: 8px;
  22. margin-right: 8px;
  23. margin-top: 8px;
  24. background-color:#CA0000;
  25. }
  26. {/literal}
  27. <div style="width:980px;margin:0 auto;">
  28. {foreach name=petla item=tablica from=$tablica}
  29. <div class="{if $smarty.foreach.petla.index is div by 2}zielony{else}czerwony{/if}">{$tablica}</div>
  30. {/foreach}
  31. </div>


i uzyskuje taki wynik (screen), a tu kod HTML:
  1. <style type="text/css">
  2. .zielony {
  3. float: left;
  4. width:291px;
  5. height:139px;
  6. padding-left: 15px;
  7. padding-right: 15px;
  8. padding-top: 15px;
  9. margin-top: 8px;
  10. background-color:#008000;
  11. }
  12.  
  13. .czerwony {
  14. float: left;
  15. width:291px;
  16. height:139px;
  17. padding-left: 15px;
  18. padding-right: 15px;
  19. padding-top: 15px;
  20. margin-left: 8px;
  21. margin-right: 8px;
  22. margin-top: 8px;
  23. background-color:#CA0000;
  24. }
  25.  
  26. <div style="width:980px;margin:0 auto;">
  27. <div class="zielony">0</div>
  28. <div class="czerwony">1</div>
  29. <div class="zielony">2</div>
  30. <div class="czerwony">3</div>
  31. <div class="zielony">4</div>
  32. <div class="czerwony">5</div>
  33. </div>


Miałby ktoś sposób na rozwiązanie mojego problemy? z góry dziękuję za pomoc winksmiley.jpg
Go to the top of the page
+Quote Post
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Weź sobie całego diva w instrukcję warunkową. Przecież czarno na białym widać, że nie wyświetlasz w jego treści żadnego słowa "zielony" lub "czerwony" tylko indeks aktualnej komórki tablicy.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
sebekzosw
post
Post #3





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

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


tu nie chodzi o tekst wyświetlany tylko o kolor tła

  1. {if $smarty.foreach.petla.index is div by 2}zielony{else}czerwony{/if}


Skoro pisze Ci czarno na białym, że nie masz instrukcji warunkowej, to powiedz mi gdzie masz oczy?

Już rozwiązałem - funkcja {cycle} z trzema wartościami ma być winksmiley.jpg

  1. {foreach name=petla item=tablica from=$tablica}
  2. <div class="{cycle values='zielony,czerwony,zielony'}">{$tablica}</div>
  3. {/foreach}
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 10:57