Wyświetlanie koszyka

mateusz_1984

No avatar

2006-11-14 20:46

Witam, usiłuję zrobić następującą rzecz. Mam stronę na której chciałbym wyświetlać koszyk w dwóch wersjach, mianowicie, pierwsza wersja wyglądu wyświetla się po kliknięciu na zamówienie choćby. Problem polega na tym że chciałbym mieć drugą wersję która będzie wyglądała inaczej... tzn będą tylko komórki z nazwą towaru, przycisk usuń i suma + koszty dostawy. Wiem jakie zmienne przechowują takie wartości i wiem jak to przerobić w szablonie (tpl). Wiem też że do wyświetlania zamówień służy funkcja listBasket2... no chyba że się mylę. Więc odszukałem ją w kodzie, i zobaczyłem ze praktycznie wszystko znajduje się w orders.php (obsługa całych zamówień). Było tam też dowiązanie do pliku template, zmieniłem je na odrębne i zduplikowałem też orders.php, wiec teoretycznie miałem obsługę zamówień która odwoływała się do innej wersji template.
Jest w tym wszystkim jeden szkopuł... nie mam pojęcia jak wywołać duplikowane orders.php
zauważyłem że wyświetlanie koszyka odbywa się na zasadzie linku:

...?p=ordersBasket

Teraz nie wiem czy 'orderBasket' to jakaś nazwa funkcji ? chyba nawet nie ma czegoś takiego.
Szukałem czegoś typu $_GET['p'] == ordersBasket, ale nie znalazłem...

Bardzo prosiłbym o pomoc... chciałbym po prostu wyświetlić zawartość koszyka która opierałaby się na 2 szablonach wyświetlania... Chodzi mi tylko o źródło bądź sposób wywołania, samo wyświetlanie mogę już zrealizować na zasadzie iframe lub includowania.

Pozdrawiam

treewood (OpenSolution)

Avatar: treewood

2006-11-14 21:58

mateusz_1984 - gratuluje zabawy i checi modyfikacji narzedzia. po pierwsze brakuje Ci podstawowej wiedzy na temat dzialania narzedzia. Bardzo wskazana jest dokumentacja:
http://opensolution.org/Quick.Cart/docs/

Specjalnie nie podam Ci odpowiedzi od A do Z gdyz dobrze by bylo gdybys sobie to jednak znalazl w dokumentacji. Naprowadze Cie jednak. Otoz tego czego szukasz "ordersBasket" to pliki akcji i akcje.

Na poczatek podstawowe pojecia z naciskiem na dzial "akcje":
http://opensolution.org/Quick.Cart/docs/?id=dictionary

Gdy juz przejdziesz powyzszy link zajzyj do opisow plikow akcji:
http://opensolution.org/Quick.Cart/docs/?id=actions

Jesli masz jakies pojecie o PHP to dokumentacja powinna Ci bardzo pomoc

mateusz_1984

No avatar

2006-11-14 22:42

Witam ponownie !
Słuchaj przejrzałem mniej więcej dokumentacje i dowiedziałem się że, akcja
domena.pl/?p=ordersBasket - plik: “actions_client/orders.php”, operacja: “Basket”
prowadzi do pliku orders.php. W tym pliku niby znajduje się dowązanie do orders_basket.tpl.

Nie znam aż tak dobrze składni php, ale zrobiłem takiego samego if'a w tym pliku który różnił się tylko akcją if( $a == 'Basket' ), wqpisałem akcją if( $a == 'Basket' ) i w dalszej części warunku zmieniłem nazwę wczytywanego szablonu na inny. To niestety nie pomogło...

mateusz_1984

No avatar

2006-11-15 01:56

w poprzedni post wkradła się literówka... chodziło mi o warunek drugi w postaci $a == 'Basket2'.

Nie wiem czy dobrym tropem idę ale skupiłem się na dwóch plikach. Są nimi orders.php z katalogu actions_client/ i actions.php ale z katalogu core/,
Dokumentacja w moim wypadku niestety zawodzi. w dokumentacji jest opisana funkcja listBasket z której chcę skorzystać, ale jest to na tyle trudne że trzeba jawywołać w odpowiednim miejscu bo inaczej sypie błędami, nie ma wogóle nigdzie napisane jakich plików, zmiennych czegololwiek to wymaga żeby działało w dowolnym miejscu skryptu... żadnych przykładów, nic. Nie wiem też czy dopisując ten warunek w pliku orders.php w client_actions robię dobrze... zrobiłem to tak że skopiowałem kod od miejsca if( $a == 'Basket' ) do końca i umieściłem to samo w tym samym pliku tyle że z warunkiem if( $a == 'Basket2' ), dla upewnienia sieże ten warunek działa dodałem jeszcze echo, żeby coś wyświetlało i to w zasadzie działa. Tzn jak wpisuję w adresie ?p=ordersBasket to tego echa nie widać. jeśli wywołam ?p=ordersBasket2 to echo się pokazuje.
Problem polega sie jak przechodzę do linikii

$content .= $tpl->tbHtml( 'orders_basket.tpl', 'NOT_FOUND' );

To jest praktycznie jedyne dowiązanie do pliku szablonu i robię costakiego że w tym drugim warunku zmianiam w powyższym tylko nazwę pliku. Nie wiem dlaczego do cholery nie chce to działać......
Pozdrawaim

mateusz_1984

No avatar

2006-11-15 02:00

cholera pomyliło mi się, te dowiązania do orders_basket.tpl są 2 w jednym ifie.
ale nawet jak zmienię oba nic to nie daje.

treewood (OpenSolution)

Avatar: treewood

2006-11-15 07:51

mateusz - przyjzyj sie funkcji listBasket() tam tez musisc dodac dowiazanie do pliku szablonu. ten co powyzej podales to tylko komunikat, ze koszyk jest pusty. Zobacz sobie na dzial szablony i opis tego pliku

mateusz_1984

No avatar

2006-11-15 08:46

Udało mi się :) faktycznie, trzeba było zmienić nazwę funkcji, tzn dopisać drugą taka samą i zmienić dowiązanie do pliku szablonu :)

Dzięki wielkie !

Do góry
o nas | kontakt