Szablony
Kurs tworzenia
sklepu internetowego
NA CD
NEWSY
Z OK£ADKI
FIRMA
MAGAZYN
PROGRAMY
WARSZTAT
INTERNET.sierpieñ.2004
42
poradnik
W tym odcinku zajmiemy siê omówieniem
budowy najwa¿niejszych szablonów,
którymi s¹: szablon strony g³ównej, karta
produktu, szablony wyszukiwarek, szablon
zak³adania konta i koszyk. Przedstawimy
zasady ich tworzenia i sposoby uzupe³niania
znacznikami easySHOPa.
czêœæ 3
Szablon strony g³ównej
Szablon ten jest podstawowym szablonem w sklepie i powinien jedno-
znacznie okreœliæ jaka jest tematyka sklepu. Jest to pierwsza strona, któr¹
widzi klient po wejœciu do sklepu. Elementami, które powinny znaleŸæ
siê na tym szablonie s¹:
odnoœniki do stron z informacjami o sklepie typu „Regulamin”,
„Czêste pytania”,
lista kategorii sklepu,
lista produktów w promocji.
Najwygodniej, aby zawartoœæ strony g³ównej podzieliæ na pewne blo-
ki funkcjonalne typu nag³ówek, stopka, lista kategorii i ka¿dy z tych ele-
mentów umieœciæ w osobnym szablonie. Do szablonu strony g³ównej
elementy te zosta³yby do³¹czone za pomoc¹ polecenia ##INCLUDE.
Dziêki temu mo¿emy ich u¿yæ w dowolnym miejscu bez potrzeby po-
nownego wpisywania treœci, jak równie¿ bardzo ³atwo je póŸniej mody-
fikowaæ.
Karta produktu
Informacje zawarte w tej czêœci sklepu maj¹ zachêciæ klienta do zakupu,
warto wiêc oprócz podstawowych informacji przewidzieæ na karcie pro-
duktu tak¿e mo¿liwoœæ zamieszczenia dodatkowych danych, takich jak np.
szczegó³owy opis, recenzje u¿ytkowników, funkcji „Poleæ znajomemu”.
Wa¿n¹ rzecz¹ jest postaæ odnoœnika do karty produktu. Jest podobny
do innych odnoœników sklepu, jednak jego interpretacja jest nieco inna.
Przyk³adowy odnoœnik ma postaæ: http://www.krakpol.com/cgi/easyshop.cgi?vid=
gjsrcwtfjfnybcgqnnjfwkaxouxhthyg&com=PT/4715. Wartoœæ argumentu „com” nale-
¿y rozumieæ jako:
PT – informuje, ¿e wyœwietlona zostanie karta produktu,
4715 – jest to numer produktu, którego informacje maj¹ zostaæ
wyœwietlone.
Oczywiœcie wewn¹trz sklepu do budowania odnoœników s³u¿y pole-
cenie ##LINK, a przyk³ad jego wywo³ania ma postaæ:
##LINK(PT/numer_produktu)
Pisz¹c szablon karty produktu mamy do dyspozycji polecenia:
##PRODUCTNAME – zwraca nazwê produktu,
##PRODUCTMANUFACTURER – zwraca nazwê producenta,
##PRODUCTPRICE – zwraca cenê produktu,
##PRODUCTSYMBOL – zwraca numer produktu,
##PRODUCTDESCRIPTION – zwraca opis producenta,
##PRODUCTMANUFACTURER – zwraca nazwê producenta.
Przyk³adowy bardzo prosty szablon mo¿e mieæ postaæ jak na listin-
gu 1 (na CD). Do informacji o produkcie mo¿emy równie¿ do³¹czyæ
wartoœæ jego dodatkowych atrybutów. Polecenie, które do tego s³u¿y ma
postaæ ##nazwa_atrybutu, czyli np.:
atrybut OPIS – polecenie ##OPIS,
atrybut PROMOCJA – polecenie ##PROMOCJA.
Nale¿y pamiêtaæ, ¿e ten znacznik dostêpny jest tylko na karcie pro-
duktu. Poleceniem umo¿liwiaj¹cym pobranie wartoœci dodatkowego
atrybutu na dowolnym szablonie jest ##EXTATTRIB. Jego pe³na sk³ad-
nia ma postaæ:
##EXTATTRIB(nazwa_atrybutu/numer_produktu)
Aby dany produkt mo¿na by³o kupiæ, nale¿y utworzyæ przycisk „Do-
daj do koszyka”. Jest to element konieczny. W easySHOPie przycisk ten
buduje siê za pomoc¹ odnoœnika ze specjalnym adresem:
<a href=”##ADDTOBASKET(##PRODUCTSYMBOL)”>
Dodaj do koszyka</a>
W powy¿szym przyk³adzie utworzony zostanie odnoœnik, którego
wybranie spowoduje dodanie do koszyka bie¿¹cego produktu. Samo po-
lecenie tworz¹ce adres ma sk³adniê:
Piotr Jagielski
Szablony
Kurs tworzenia
sklepu internetowego
Ze względu na znaczną objętość, a także w celu
zachowania czytelnej formy niektóre listingi oraz
zrzuty ekranowe z tego artykułu są dostępne tylko
na dołączonej płycie CD, w katalogu e-Sklep_kurs.
INTERNET.sierpieñ.2004
WARSZTAT
NA CD
NEWSY
Z OK£ADKI
FIRMA
MAGAZYN
PROGRAMY
43
poradnik
##ADDTOBASKET(numer_produktu)
Kolejnym wa¿nym elementem jest do³¹czenie ilustracji produktu.
W easySHOPie przyjêto konwencjê, ¿e nazwa obrazka jest zgodna z nu-
merem produktu. Poni¿szy kod ilustruje, jak dodaæ ilustracjê do karty
produktu:
<img src=”##PRODUCTIMAGEPATH/##PRODUCTSYMBOL.jpg”>
Znacznik ##PRODUCTIMAGEPATH zostanie rozwiniêty w œcie¿kê do
katalogu obrazków. Zak³adaj¹c, ¿e obrazki znajduj¹ siê w katalogu /images,
a numer wyœwietlanego produktu to 23, program zamieni tê liniê na:
<img src=”/images/23.jpg”>
Poniewa¿ obrazek na karcie produktu ma na ogó³ ma³e rozmiary, nie
pozwala to na dok³adne zapoznanie siê z jego wygl¹dem (o ile nie ma to
wiêkszego znaczenia w przypadku ksi¹¿ek, to w przypadku innych pro-
duktów, jak np. zabawki, ju¿ tak). Jest jednak mo¿liwoœæ przygotowania
zestawu zdjêæ (np. ma³ego i du¿ego). Je¿eli klient bêdzie chcia³ zapoznaæ
siê z du¿ym obrazkiem, po prostu kliknie ma³y. Wówczas w osobnym
okienku pojawi siê powiêkszony obrazek.
Nastêpnym wa¿nym elementem karty produktu jest „Poleæ znajomemu”,
poniewa¿ wiêkszoœæ klientów podczas dokonywania decyzji zakupowych
kieruje siê opini¹ znajomych. Referencje znajomego s¹ o wiele bardziej wia-
rygodne ni¿ najlepsza reklama i dlatego warto wykorzystaæ tê zasadê.
Inn¹ wa¿n¹ funkcj¹ dostêpn¹ w easySHOPie jest mo¿liwoœæ wi¹za-
nia ze sob¹ poszczególnych produktów. Funkcja ta mo¿e byæ wykorzy-
stana w kilku przypadkach, np. je¿eli sprzedajemy zabawkê, do której
dzia³ania potrzebne s¹ baterie, na karcie danego produktu zamieszczamy
informacjê o tym. Funkcja ta zwiêksza szanse na z³o¿enie zamówienia
nie tylko na sam produkt podstawowy, ale tak¿e na produkty powi¹zane.
Szablony wyszukiwarek
Szablony wyszukiwarek odpowiadaj¹ za sposób prezentowania produk-
tów wyœwietlonych przez program w wynikach wyszukiwania.
Zaleca siê, aby na liœcie w wynikach wyszukiwania znajdowa³y siê
najwa¿niejsze informacje dotycz¹ce produktu, takie jak: nazwa, krótki
opis, cena w sklepie, cena rynkowa, informacja czy produkt znajduje
siê w promocji, przyciski graficzne („Dodaj do koszyka”, „Wiêcej in-
formacji”). Informacje zawarte w wynikach wyszukiwania maj¹ zachê-
ciæ internautê do zapoznania siê z pe³nym opisem produktu i zachêciæ
go do zakupu.
Aby zaprezentowaæ sposób wykonania prostej wyszukiwarki, po-
trzebne bêd¹ dwa szablony. Na pierwszym zostanie umieszczony for-
mularz umo¿liwiaj¹cy podanie nazwy, wzglêdem której wyszukujemy.
Drugi szablon bêdzie prezentowa³ wyniki wyszukiwania. Najwygod-
niej, jeœli formularz zostanie umieszczony w grupie szablonów u¿yt-
kownika (za³ó¿my, ¿e jego symbol to UT/5). Stronê z wynikami umie-
œcimy w przygotowanej do tego grupie szablonów wyszukiwania. Sym-
bol naszego szablonu to IT/1. W szablonie UT/5 umieszczamy prosty
formularz – listing 2 (na CD).
Warto zwróciæ uwagê, ¿e adres strony obs³uguj¹cej formularz zo-
sta³ utworzony za pomoc¹ polecenia ##LINK. Kod ten mo¿emy w ³atwy
sposób wykorzystaæ na innych stronach sklepu, np. na stronie g³ównej.
Do szablonu strony g³ównej do³¹czymy go za pomoc¹ polecenia ##IN-
CLUDE(UT/5).
Teraz nale¿y przygotowaæ szablon IT/1, który zajmie siê prezen-
tacj¹ wyników wyszukiwania – patrz listing 3 (na CD). Polecenie
##GETPOST powoduje pobranie wartoœci zmiennej o podanej nazwie,
przes³anej w formularzu za pomoc¹ metody POST. Dalszy fragment
kodu jest pêtl¹. Kod zawarty pomiêdzy znacznikami ##PRODUCTLO-
OP a ##ENDPRODUCTLOOP zostanie wyœwietlony tyle razy, ile pro-
duktów spe³ni kryterium wyszukiwania. Sposób wyszukiwania ustalo-
ny jest za pomoc¹ argumentów polecenia ##PRODUCTLOOP. Kolej-
ne argumenty oznaczaj¹:
ATTRIB – wyszukujemy wzglêdem podstawowego atrybutu
produktu, którym jest nazwa (inne atrybuty podstawowe to:
numer produktu, cena, waga i kategoria),
PRODUCTNAME = ##GETPOST(kryterium) – nazwa produktu
ma zawieraæ w sobie ci¹g znaków przes³any w polu formularza
o nazwie „Kryterium”,
SORT – oznacza, ¿e wyniki zostan¹ posortowane alfabetycznie
rosn¹co,
ALL – zaprezentowane zostan¹ wszystkie wyniki.
To jest tylko czêœæ mo¿liwych parametrów. Pe³n¹ ich listê mo¿na
sprawdziæ w dokumencie pomocy do³¹czonym do programu. Znaczniki
##LOOPPRDUCTNAME, ##LOOPPRODUCTPRICE, ##LOOPPRO-
DUCTDESCRIPTION, ##LOOPPRODUCTSYMBOL zostan¹ zamie-
nione kolejno na nazwê, cenê, opis i numer produktu. Po wykonaniu tego
kodu przez program, fragment HTML zawarty pomiêdzy znacznikami
pêtli zostanie powielony i wype³niony danymi kolejno dla ka¿dego pro-
duktu, który spe³nia wyniki wyszukiwania.
W warunku wyszukiwania pos³u¿yliœmy siê operatorem „=”. Nie jest
to jedyny dostêpny operator. Do dyspozycji mamy:
EQ
jest równy – np. 2 EQ 2 to prawda, Ala EQ Ola to fa³sz,
NE
jest ró¿ny – przeciwieñstwo EQ,
>
jest wiêkszy,
<
jest mniejszy,
=
zawiera – np. DOMY = DOM to prawda,
ULICA = DOM to fa³sz.
Tymi operatorami pos³ugujemy siê w wywo³aniach pêtli i instrukcjach
warunkowych ##IF, które zostan¹ omówione w dalszej czêœci kursu.
Podobnie postêpujemy w przypadku tworzenia wyszukiwarki produk-
tów z kategorii. Tym razem zamiast formularza umo¿liwiaj¹cego poda-
nie nazwy produktu, zostanie utworzona lista zawieraj¹ca nazwy katego-
rii sklepu. Szablonem, który zajmie siê wyœwietleniem produktów nale-
¿¹cych do wybranej kategorii bêdzie IT/2 – drugi z grupy szablonów
wyszukiwania. Podobnie jak formularz prostego wyszukiwania, tak i li-
stê kategorii warto zrobiæ w osobnym szablonie, a potem do³¹czaæ ten
kod za pomoc¹ polecenia ##INCLUDE. Poni¿szy kod prezentuje jak
wyœwietliæ listê kategorii:
##CATEGORYLOOP(LIST;MAINCATEGORY;SORT)
<a href=”##LINK(IT/2)&kategoria=##LOOPCATEGORYSYMBOL”>
##CATEGORYNAME</a>
##ENDCATEGORYLOOP
Jest to przyk³ad kolejnej pêtli easySHOPa. Tym razem kod zawarty
pomiêdzy znacznikami ##CATEGORYLOOP a ##ENDCATEGORYLO-
OP zostanie wyœwietlony tyle razy, ile jest g³ównych kategorii w sklepie.
Kolejne opcje polecenia oznaczaj¹:
LIST – lista kategorii,
MAINCATEGORY – g³ówne kategorie (kategorie mog¹ mieæ
strukturê drzewiast¹),
SORT – lista posortowana alfabetycznie.
Dla ka¿dej kategorii zostanie wypisany odnoœnik wskazuj¹cy na sza-
blon IT/2 wraz z parametrem „Kategoria” zawieraj¹cym identyfikator
NA CD
NEWSY
Z OK£ADKI
FIRMA
MAGAZYN
PROGRAMY
WARSZTAT
INTERNET.sierpieñ.2004
44
poradnik
kategorii. Dziêki niemu w szablonie IT/2 bêdzie wiadomo, dla której
kategorii nale¿y wyszukaæ produkty.
Kod szablonu IT/2 jest bliŸniaczo podobny do szablonu IT/1. Mody-
fikacji nale¿y poddaæ jedynie kryterium wyszukiwania – patrz listing 4
(na CD). W pierwszej linii listingu 4 wypisywana jest nazwa kategorii.
Do tego s³u¿y polecenie ##CATEGORYNAME, którego argumentem jest
numer kategorii. Numer ten zosta³ do³¹czony do odsy³acza wskazuj¹ce-
go na szablon IT/2. Mo¿emy go pobraæ za pomoc¹ znacznika ##GET,
którego argument wskazuje na nazwê parametru przes³anego do szablo-
nu metod¹ GET. Warunek wyszukiwania dla pêtli ma postaæ:
CATEGORY EQ ##GET(kategoria)
Oznacza to, ¿e nazwa kategorii, do której jest przypisany produkt, ma
byæ zgodna z nazw¹ kategorii, wzglêdem której wyszukujemy. Reszta
opcji wywo³ania pêtli jest taka sama jak w przypadku wyszukiwania po
nazwie produktu.
„Za³ó¿ konto” i logowanie klienta
Szablon „Za³ó¿ konto” s³u¿y do podawania danych teleadresowych przez
osoby dokonuj¹ce rejestracji w sklepie. Dane te mog¹ byæ podane jednorazo-
wo, a przy kolejnych zakupach pobierane z bazy, aby klient nie musia³ poda-
waæ ich ponownie (oczywiœcie wymagane jest zalogowanie siê klienta).
Aby umo¿liwiæ klientowi utworzenie nowego konta, niezbêdne jest
przygotowanie szablonu, na którym bêdzie formularz do podania danych
teleadresowych. Wœród nich powinny siê znaleŸæ m.in.: imiê i nazwisko,
nazwa firmy, adres, numer telefonu, adres e-mail. Ka¿da z tych danych
mo¿e wystêpowaæ w dwóch wersjach: jako dane wysy³kowe i dane do
faktury. Najpierw przygotujemy przyk³adowy szablon zawieraj¹cy w³a-
œnie taki formularz – patrz listing 5 (na CD). Szablon ten najlepiej umie-
œciæ w grupie szablonów u¿ytkownika (UT).
Szablon ten (z listingu 5) praktycznie nie zawiera znaczników easy-
SHOPa. Wystêpuje w nim tylko polecenie ##LINK generuj¹ce adres
szablonu pobieraj¹cego dane z formularza i zak³adaj¹cego nowe
konto na ich podstawie. Jest to szablon z grupy szablonów sklepu
(ST) o numerze 6.
Teraz czas odebraæ przes³ane dane i utworzyæ nowe konto. Odpowia-
da za to w³aœnie szablon ST/6:
##ACCOUNT(##GETPOST(login);##GETPOST(haslo);##GETPOST
(imie);##GETPOST(nazwisko);-;-;-;PLN;1;1;1;-)
##BILLINGACCOUNT(##GETPOST(imie);##GETPOST(nazwisko);-
;##GETPOST(ulica);##GETPOST(miasto);-;##GETPOST
(kod);POLSKA;##GETPOST(telefon);-)
##SENDACCOUNT(##GETPOST(imie);##GETPOST(nazwisko);-
;##GETPOST(ulica);##GETPOST(miasto);-;##GETPOST
(kod);POLSKA;##GETPOST(telefon);-)
##IF(##USER NE default)
<p>Konto zosta³o dodane</p>
##ELSE
<p>Nie mo¿na utworzyæ konta!</p>
##ENDIF
Na pocz¹tku szablonu znajduj¹ siê wywo³ania poleceñ ##ACCOUNT,
##BILLINGACCOUNT i ##SENDACCOUNT, które s³u¿¹ do dodania
nowego u¿ytkownika w sklepie. Pierwsze tworzy nowe konto, dwa ko-
lejne przypisuj¹ do tego konta dane do faktury i dane wysy³kowe. Pe³ne
wywo³ania tych poleceñ maj¹ postaæ:
##ACCOUNT(nazwa_u¿ytkownika;has³o;imiê;nazwisko;
komentarz;numer_konta_bankowego_1;
numer_konta_bankowego_1;waluta;czy_wysy³aæ_maile;
jêzyk; czy_aktywny;NIP)
##BILLINGACCOUNT(imiê;nazwisko;firma;
ulica_i_numer_domu; miejscowoœæ;województwo;
kod_pocztowy;kraj;numer_telefonu_1;
numer_telefonu_2;fax;adres_email)
##SENDACCOUNT(imiê;nazwisko;firma;ulica_i_numer_domu;
miejscowoœæ;województwo;kod_pocztowy;kraj;
numer_telefonu_1; numer_telefonu_2;fax;adres_email)
Aby wype³niæ te dane, pos³u¿yliœmy siê poleceniem ##GETPOST
umo¿liwiaj¹cym pobranie informacji przes³anych za pomoc¹ formula-
rza. Znak „-” w wywo³aniu oznacza, ¿e t¹ informacj¹ nie dysponujemy.
Dla poleceñ ##BILLINGACCOUNT i ##SENDACCOUNT podaliœmy
te same dane, ale równie dobrze mog¹ byæ one ró¿ne. Nale¿y tylko
rozszerzyæ formularz, aby klient móg³ wprowadziæ osobno dane wy-
sy³kowe i do faktury. Po wywo³aniu powy¿szych poleceñ nale¿y spraw-
dziæ czy uda³o siê za³o¿yæ nowe konto. Jeœli u¿ytkownik o podanej
w formularzu nazwie ju¿ istnieje w sklepie, to za³o¿enie konta siê nie
powiedzie. Do sprawdzenia wykorzystaliœmy instrukcjê warunkow¹
##IF. Badany warunek to:
##USER NE default
Znacznik ##USER zwraca nam nazwê aktualnie zalogowane-
go u¿ytkownika. Jeœli nikt nie jest zalogowany, to zwracana jest war-
toœæ „default”. Przy zak³adaniu nowego konta nastêpuje automatycz-
ne logowanie i dlatego jeœli ##USER zwróci wartoœæ inn¹ ni¿ „de-
fault”, to oznacza to, ¿e uda³o siê poprawnie dodaæ nowego klienta
do bazy.
Gdy klienci posiadaj¹ ju¿ konta w naszym sklepie, nale¿y umo¿liwiæ
im zalogowanie siê na nie. Do tego potrzebny jest szablon zawieraj¹cy
formularz z dwoma polami: nazwa u¿ytkownika i has³o – listing 6 (na
CD). Jak wiêkszoœæ dodatkowych szablonów, tak i ten najlepiej dodaæ do
grupy szablonów u¿ytkownika (UT).
Formularz z listingu 6 przesy³any jest do szablonu ST/5 i zajmuje siê
weryfikacj¹ poprawnoœci wprowadzonych danych. Wa¿ne jest, aby pola
formularza mia³y nazwy „login” i „password”. W szablonie ST/5 mo¿e-
my dokonaæ sprawdzenia czy uda³o siê zalogowaæ. Wykorzystamy do
tego poprzedni warunek polecenia ##IF.
##IF(##USER NE default)
<p>Witaj ##NAME! Uda³o Ci siê zalogowaæ.</p>
##ELSE
<p>B³¹d logowania! SprawdŸ czy poda³eœ poprawne
dane.</p>
##ENDIF
Zasada dzia³ania tego kodu jest taka sama, jak podczas zak³adania
nowego konta. Dodane zosta³o polecenie ##NAME, które zwraca imiê
zalogowanego u¿ytkownika. Do pobrania nazwiska s³u¿y polecenie
##SURNAME.
Koszyk
Szablon koszyka nosi oznaczenie ST/7. Na pocz¹tku warto zadbaæ o to,
aby koszyk sprawdza³ czy nie jest pusty. Jeœli tak, to zamiast pustej tabeli
z produktami pojawi siê odpowiedni komunikat:
INTERNET.sierpieñ.2004
WARSZTAT
NA CD
NEWSY
Z OK£ADKI
FIRMA
MAGAZYN
PROGRAMY
45
poradnik
##IF(##BASKETITEM EQ 0)
Twój koszyk jest pusty.
##ELSE
<form method=”POST” name=”koszyk” action=”##GOBASKET”>
<!-- lista produktów -->
<!-- lista sposobów p³atnoœci i sposobów wysy³ki -->
<!-- podliczenie ³¹cznej kwoty -->
<!-- przycisk „przelicz” -->
</form>
<!-- przycisk „realizuj zamówienie” -->
##ENDIF
Znacznik ##BASKETITEM zwraca liczbê produktów bêd¹cych w ko-
szyku. Czas teraz uzupe³niæ powy¿szy kod szablonu o elementy znajdu-
j¹ce siê wewn¹trz komentarzy HTML. Nale¿y pamiêtaæ, aby trzy pierw-
sze elementy koszyka umieœciæ wewn¹trz formularza, poniewa¿ edycja
zawartoœci koszyka polega na ponownym wys³aniu formularza pod jego
adres. Adres ten uzyskujemy za pomoc¹ znacznika ##GOBASKET.
Aby pobraæ listê produktów bêd¹cych w koszyku, pos³u¿ymy siê pêtl¹
##BASKETLOOP, jak to widaæ na listingu 7 (na CD). Kod bêd¹cy po-
miêdzy znacznikami ##BASKETLOOP a ##ENDBASKETLOOP roz-
wijany jest w kolejne wiersze tabeli, w której ka¿dy z nich zawiera infor-
macjê o produkcie bêd¹cym w koszyku. Kolejne znaczniki s³u¿¹ do:
##LOOPPRODUCTNAME – zwraca nazwê produktu;
##LOOPPRODUCTPRICE – zwraca cenê produktu;
<input type=text name=##LOOPPRODUCTSYMBOL
value=##LOOPPRODUCTINBASKET> – iloœæ sztuk danego
produktu w koszyku; tak zosta³ wykorzystany element formularza,
aby iloœæ tê mo¿na by³o modyfikowaæ (wa¿ne, aby nazw¹ pola
input by³ numer produktu – uzyskujemy go za pomoc¹ polecenia
##LOOPPRODUCTSYMBOL);
<a href=”##REMOVEFROMBASKET(##LOOPPRODUCT
SYMBOL)”>USUÑ</a> – umo¿liwia usuniêcie produktu
z koszyka, znacznik ##REMOVEFROMBASKET musi mieæ
podany w argumencie numer produktu, który nale¿y usun¹æ.
Powy¿szy kod nale¿y dodaæ do g³ównego kodu szablonu zamiast ko-
mentarza „<!-- lista produktów -->”.
W tym miejscu mo¿na dok³adniej uzasadniæ koniecznoœæ umieszczenia
listy produktów wewn¹trz formularza. W³aœnie dziêki temu mo¿liwa jest
edycja iloœci sztuk produktów bêd¹cych w koszyku. Równie¿ lista sposo-
bów p³atnoœci i lista sposobów wysy³ki bêd¹ listami jednokrotnego wybo-
ru (tzw. przyciski radiobutton). Klient modyfikuj¹c zawartoœæ koszyka prze-
œle ca³y formularz i to spowoduje, ¿e jego zawartoœæ ulegnie zmianie.
Gdy wyœwietlanie listy produktów jest gotowe, czas zaj¹æ siê list¹
wysy³ki i p³atnoœci:
##DISPATCHINGLOOP
<input type=radio name=dispatching
value=##LOOPDISPTYPE> ##LOOPDISPNAME
##ENDDISPATCHINGLOOP
Kod ten utworzy listê jednokrotnego wyboru sposobów wysy³ki.
Wa¿ne jest, aby pola tej listy mia³y nazwê „dispatching”. Znacznik ##LO-
OPDISPNAME zostanie zamieniony na nazwê sposobu wysy³ki. Analo-
gicznie nale¿y przygotowaæ kod wyœwietlaj¹cy listê sposobów p³atnoœci:
##PAYMENTLOOP
<input type=radio name=payment
value=##LOOPPAYMENTTYPE> ##LOOPPAYMENTNAME
##ENDPAYMENTLOOP
W tym przypadku wa¿ne jest, aby nazw¹ pola input by³o „payment”.
Gdy kod obu list jest gotowy, mo¿emy wstawiæ go zamiast „<!-- lista
sposobów p³atnoœci i sposobów wysy³ki -->” g³ównego kodu szablonu
koszyka.
Do wyœwietlenia ³¹cznej kwoty zamówienia s³u¿¹ dwa polecenia:
##BASKETSUBTOTAL – ³¹czny koszt produktów bêd¹cych
w koszyku,
##BASKETTOTAL – ³¹czny koszt produktów bêd¹cych w koszyku
powiêkszony o koszt dostawy.
Za pomoc¹ tych poleceñ mo¿emy dodaæ do koszyka kolejny element:
<b>Produkty razem:</b> ##BASKETSUBTOTAL<br>
<b>RAZEM:</b> ##BASKETTOTAL z³
Skoro klient ma mo¿liwoœæ modyfikacji zawartoœci koszyka, to nale-
¿y dodaæ przycisk, który te zmiany zatwierdzi. Przycisk ten bêdzie nosi³
nazwê „Przelicz”. Poniewa¿ wszystkie omówione powy¿ej elementy znaj-
duj¹ siê wewn¹trz formularza, zmiany klienta zostan¹ zapisane poprzez
wys³anie tego formularza. Kod samego przycisku wygl¹da nastêpuj¹co:
<input type=submit value=”PRZELICZ”>
Czas na napisanie ostatniego elementu szablonu koszyka, czyli przy-
cisku „Realizuj zamówienie”. Jest to prosty formularz przesy³any na ad-
res wygenerowany za pomoc¹ polecenia ##ENDORDER:
<form method=post action=”##ENDORDER”><input type=
submit value=”REALIZUJ ZAMÓWIENIE”></form>
Fragment ten umieszczamy zamiast komentarza „<!-- przycisk „reali-
zuj zamówienie” -->” g³ównego kodu koszyka. W ten sposób mamy goto-
wy ca³y szablon. Jego kod jest na tyle elastyczny, ¿e reszty zmian mo¿na
dokonywaæ w zapleczu easySHOPa bez koniecznoœci edycji znaczników.
Wirtualny
koszyk
Dodawanie sposobów p³atnoœci do koszyka jest bardzo ³atwe. Je¿eli
do listy mo¿liwych sposobów p³atnoœci wystêpuj¹cej w koszyku chcemy
dodaæ jeden z istniej¹cych w easySHOPie sposobów, wystarczy zmieniæ
jedynie jego stan na „W³¹czony” (zmiany tej dokonuje siê w zapleczu
administracyjnym). W wyniku wykonania tej czynnoœci wybrany sposób
poka¿e siê w czêœci frontowej sklepu, w koszyku. W przypadku niektó-
rych sposobów p³atnoœci, np. karta kredytowa, mTransfer wymagane jest
podanie dodatkowych informacji (specjalnych identyfikatorów czy hase³).
Szczegó³owe omówienie aktywacji p³atnoœci kartami kredytowymi
w systemie eCard zostanie omówione w kolejnej czêœci kursu. Mo¿liwe
jest równie¿ utworzenie nowego sposobu p³atnoœci (ADMINISTRACJA
– P£ATNOŒCI – UTWÓRZ NOWY).
Podobnie jak z p³atnoœciami postêpujemy ze sposobami wysy³ki.
W zapleczu administracyjnym (ADMINISTRACJA – WYSY£KA) mo-
¿emy zdefiniowaæ iloœæ i koszt ka¿dego rodzaju wysy³ki.