Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [smarty] przerobienie na smarty ze zwyklego php
Forum PHP.pl > Forum > Przedszkole
17misiek09
od razu opisze problem.
chce przeniesc sie na smarty - doszedlem do galeri ktora mam na stronie.
galeria wyswietla zdjecia w tabeli - po 3 zdjecia w wierszu, az do wyczerpania zdjec w folderze z miniaturami.

jak przerobic takie cos:
  1. <?php
  2. $katalog2='./miniatury/';
  3. $kat2=opendir($katalog2);
  4. $ile2=0;
  5. while($plik2=readdir($kat2))
  6. {
  7. if($plik2!="." && $plik2!="..")
  8. {
  9. $Listaa[]=$plik2;
  10. $ile2++;
  11. }
  12. }
  13.  
  14.  
  15.  
  16. $katalog='./upload/';
  17. $kat=opendir($katalog);
  18. $ile=0;
  19. while($plik=readdir($kat))
  20. {
  21. if($plik!="." && $plik!="..")
  22. {
  23. $Lista[]=$plik;
  24. $ile++;
  25. }
  26. }
  27. if ($ile2==0)
  28. {
  29. echo "Brak zdjęć w galerii.";
  30. }
  31. else
  32. {
  33. //echo 'Ilość plików: '.$ile;
  34. echo '<table>';
  35. $ktore=1;
  36. foreach($Listaa as $Nazwa)
  37. {
  38. $sourc = "upload/$Nazwa";
  39. if($ktore==1) echo '<tr>';
  40. echo "<td><a href='$sourc' rel='lightbox[roadtrip]' target='_blank'><img src='miniatury/$Nazwa' alt='' style='margin:5px;'></a></td>";
  41. if($ktore==3)
  42. {
  43. echo '</tr>';
  44. $ktore=0;
  45. }
  46. $ktore++;
  47. }
  48. echo '</table>';
  49. }
  50.  
  51. ?>


na smarty?
pojecia nie mam jak zrobic funkcje ktora bedzie wlasnie w taki sposob ukladac zdjecia, aby bylo max 3 zdjecia w wierszu
piotr.mroczek
koniecznie całośc tej logiki chcesz mieć w smartach?
jeszcze powiedz w ktorej wersji 2 czy 3?

w wersji 2 masz wsparcie dla tagu {php}
w wersji 3 jest niezalecane, ale chyba mozna go włączyć.

vonski
Zakładając, że w pliku php przypisujesz do templatki $Lista jako tablicę numeryczną zawierającą nazwy plików:

  1. <table>
  2. {section name=i loop=$list}
  3.  
  4. {if $smarty.section.i.first}
  5. <tr>
  6. {/if}
  7. <td>{$list[i]}</td>
  8. {if $smarty.section.i.iteration % 3 == 0 && !$smarty.section.i.last}
  9. </tr><tr>
  10. {/if}
  11. {if $smarty.section.i.last}
  12. </tr>
  13. {/if}
  14.  
  15. {/section}
  16. </table>


Taki kod powinien wypluć coś w tym stylu:

  1.  
  2.  
  3.  
  4. <tr>
  5. <td>img1</td>
  6. <td>img2</td>
  7. <td>img3</td>
  8. </tr><tr>
  9. <td>img4</td>
  10. <td>img5</td>
  11. <td>img6</td>
  12. </tr><tr>
  13. <td>img7</td>
  14. <td>img8</td>
  15. <td>img9</td>
  16. </tr><tr>
  17. <td>img10</td>
  18. </tr>
17misiek09
Cytat(piotr.mroczek @ 23.02.2012, 17:19:19 ) *
koniecznie całośc tej logiki chcesz mieć w smartach?
jeszcze powiedz w ktorej wersji 2 czy 3?

w wersji 2 masz wsparcie dla tagu {php}
w wersji 3 jest niezalecane, ale chyba mozna go włączyć.


mam wersje 3.
nie koniecznie musi to wygladac tak samo.
wazne aby idea zostala zachowana - zdjecia pobierane z folderow upload(duze zdjecia) i miniatury(male zdjecia).
max 3 zdjecia w wierszu.

Cytat(vonski @ 23.02.2012, 18:32:27 ) *
Zakładając, że w pliku php przypisujesz do templatki $Lista jako tablicę numeryczną zawierającą nazwy plików:

  1. <table>
  2. {section name=i loop=$list}
  3.  
  4. {if $smarty.section.i.first}
  5. <tr>
  6. {/if}
  7. <td>{$list[i]}</td>
  8. {if $smarty.section.i.iteration % 3 == 0 && !$smarty.section.i.last}
  9. </tr><tr>
  10. {/if}
  11. {if $smarty.section.i.last}
  12. </tr>
  13. {/if}
  14.  
  15. {/section}
  16. </table>


Taki kod powinien wypluć coś w tym stylu:

  1.  
  2.  
  3.  
  4. <tr>
  5. <td>img1</td>
  6. <td>img2</td>
  7. <td>img3</td>
  8. </tr><tr>
  9. <td>img4</td>
  10. <td>img5</td>
  11. <td>img6</td>
  12. </tr><tr>
  13. <td>img7</td>
  14. <td>img8</td>
  15. <td>img9</td>
  16. </tr><tr>
  17. <td>img10</td>
  18. </tr>


to moze byc dobre - jak tylko kompa sie dopadne zaraz to sprawdze smile.gif


Cytat(vonski @ 23.02.2012, 18:32:27 ) *
Zakładając, że w pliku php przypisujesz do templatki $Lista jako tablicę numeryczną zawierającą nazwy plików:

  1. <table>
  2. {section name=i loop=$list}
  3.  
  4. {if $smarty.section.i.first}
  5. <tr>
  6. {/if}
  7. <td>{$list[i]}</td>
  8. {if $smarty.section.i.iteration % 3 == 0 && !$smarty.section.i.last}
  9. </tr><tr>
  10. {/if}
  11. {if $smarty.section.i.last}
  12. </tr>
  13. {/if}
  14.  
  15. {/section}
  16. </table>


Taki kod powinien wypluć coś w tym stylu:

  1.  
  2.  
  3.  
  4. <tr>
  5. <td>img1</td>
  6. <td>img2</td>
  7. <td>img3</td>
  8. </tr><tr>
  9. <td>img4</td>
  10. <td>img5</td>
  11. <td>img6</td>
  12. </tr><tr>
  13. <td>img7</td>
  14. <td>img8</td>
  15. <td>img9</td>
  16. </tr><tr>
  17. <td>img10</td>
  18. </tr>


delikatnie musialem przerobic, ale ogolny zarys genialny ! oj duzo nauki przede mna...
dzieki wink.gif
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.