Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem ze smarty
jureusz
post 4.04.2004, 15:30:50
Post #1





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 16.03.2004

Ostrzeżenie: (10%)
X----


Mam taki problem bardziej teoretyczny do rozwiazania. Chodzi o wyswietlanie produktow z magazynu z danej kategorii. Spieszylem sie i na szybko zrobilem w smarty cos takiego ... ze kazdy wyciagniety produkt z bazy ma oddzielna nazwe zmiennej w smarty (ograniczone z gory do 5 produktow wyswietlanych na stronie) np. CENATOWARUDOSTAW$i a templetach to bedzie {$CENATOWARUDOSTAW0} itd. Jednak to nie za dobre rozwiazanie ... Wolalbym bardziej zeby byl jeden szablon sluzacy do wyswietlania produktu i on byl powielany tyle razy ile jest produktow w bazie. No a z drugiej strony nie chcialbym dzielic obecnego template'a na kolejne... Jakies pomysly?
Go to the top of the page
+Quote Post
mike
post 4.04.2004, 16:25:10
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Byłoby łatwiej rozwiązać Twój problem, gdybyś rzucił nam trochę kodu. Chciaż fragment.
Go to the top of the page
+Quote Post
jureusz
post 4.04.2004, 16:37:45
Post #3





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 16.03.2004

Ostrzeżenie: (10%)
X----


Teraz to wyglada tak:

[php:1:53463f9b11]<?php
for($i=0;$i<$row_produkty=mysql_fetch_array($produkty);$i++) {
$nazwa_firmy[$i]=$row_produkty['NAZWA_FIRMY_TOWARU'];
$smarty->assign("NAZWAFIRMYTOWARU$i",$nazwa_firmy[$i]);
$nazwa_towaru[$i]=$row_produkty['NAZWA_TOWARU'];
$smarty->assign("NAZWATOWARU$i",$nazwa_towaru[$i]);
//poprawka przecinka w cenie
$cena[$i]=$row_produkty['CENA_TOWARU_DOSTAW'];
$cena_towaru[$i]=str_replace(".",",",$cena[$i]);
$smarty->assign("CENATOWARUDOSTAW$i",$cena_towaru[$i]);
$opis_towaru[$i]=$row_produkty['OPIS_TOWARU'];
$smarty->assign("OPISTOWARU$i",$opis_towaru[$i]);
$zdjecie_towaru[$i]=$row_produkty['ID_TOWARU'];
$smarty->assign("ZDJECIETOWARU$i",$zdjecie_towaru[$i]);

}
?>[/php:1:53463f9b11]

a w templacie

Kod
<table width="460" border="0" align="center" cellpadding="0" cellspacing="0">

            <tr>

              <td width="131" rowspan="2"><div align="center"><img src="img.php?id_zdjecia={$ZDJECIETOWARU0}" width="100" height="100" class="border"></div></td>

              <td width="329" height="85" valign="top" class="text"><p align="center"> <strong>{$NAZWAFIRMYTOWARU0}</strong> <span class="style1">{$NAZWATOWARU0}</span> {$OPISTOWARU0}<br>

                      <span class="cena">{$CENATOWARUDOSTAW0}</span></p></td>

            </tr>

            <tr>

              <td valign="top" class="text"><div align="right"><a href="#" class="kategorie">Dodaj do Koszyka</a> </div></td>

            </tr>

            <tr>

              <td colspan="2"><hr noshade size="1" color="#000000"></td>

            </tr>

          </table>


No i to jest ta czesc ktora sie powtarza i ja za kazdym razem musze zmieniac np. {$NAZWATOWARU0} na {$NAZWATOWARU1} itd ... az do 4.
Generalnie pomysl mi sie spodobal bo grafik moze sobie rozlozyc gdziekolwiek chce te wszystkie wartosci. Jednak z drugiej strony po co mu dawac az takie pole do popisu ... jezeli te produkty sie bede powtarzaly w tym samym schemacie "html".. Wiec lepsza by byla petelka .. i teraz ostro mysle jak jej nie dodawac do tego template'a.

ps. sorrki za bledy skladniowe ... cosik mi sie ciezko dzisiaj mysli :/
Go to the top of the page
+Quote Post
jureusz
post 4.04.2004, 17:12:42
Post #4





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 16.03.2004

Ostrzeżenie: (10%)
X----


ok .. juz sam rozwiazalem problem ... nie wiedzialem ze w smarty jest cos takeigo jak section ...
Go to the top of the page
+Quote Post
Bielo
post 4.04.2004, 18:05:18
Post #5





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 21.09.2003
Skąd: Truskaw

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


Ja na Twoim miejscu zamiast tworzyć bezsensu dużą ilość zmiennych skorzystałbym z dobrodziejstw tablic array.

poczytaj sobie o pętli foreach w smarty[/url]


--------------------
Go to the top of the page
+Quote Post
jureusz
post 4.04.2004, 22:16:55
Post #6





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 16.03.2004

Ostrzeżenie: (10%)
X----


Nie mowie nie ... ale ja nadal mam jakies dziwne przekonanie ze grafik moze sie pogubic przy templatach (im mniej kodu tym lepiej dla niego). Niestety pewnych rzeczy nie da sie obejsc ..
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 16:57