Po kliknięciu na "dodaj do koszyka" produkt jest do niego dodawany i automatycznie otwiera się strona z koszykiem. Dzięki wskazówkom i dokumentacji dodałem sobie wyświetlanie ceny ($fProductsSummary) w menu koszyka. I dlatego po każdorazowym kliknięciu na "dodaj do koszyka" staje się denerwującym automatyczne wskakiwanie na stronę koszyka. Czy da się to jakoś wyłączyć, aby po tym "dodaniu" koszyk powiększał swą zawartość i pokazywał w (fProductsSummary) ale kupujący/klikający pozostawał dalej na stronie z produktami? Po dwudniowym RTFM poddałem się i dlatego zadaję owe powyższe pytanie.
Żeby była jasność: http://opensolution.org/Quick.Cart/forum/index.php?p=readTopic&nr=724 to już przerobiłem. Niestety problem w tym, że po kliknięciu na "dodaj do koszyka" strona na chwilę jest pusta (taki reload "w nicości" ;-) potem faktycznie jestem znowu na produktach, jednak wartość koszyka w jego menu nie zmienia się. Dopiero po kliknięciu bezpośrednio na koszyk pokazuje się jego strona i dopiero wtedy wartości w menu są poprawne. Chodzi mi o takie smart-rozwiązanie, które działałoby jak guzik "przelicz" na stronie koszyka.
Witam, chciałbym uzyskać dokładnie to samo co opisał wyżej boboo, czyli żeby strona z zawartością koszyka nie pojawiała się po dodaniu produktu ale żeby zawartość koszyka się zmieniała. Proszę o pomoc. Pozdrawiam.
i .basket zmień na: .dodaj I poformatuj trochę, aby jakoś to wyglądało.
Teraz w /actions_client/p.php znajdź:
if( $config['basket_page'] == $iContent ){
i NAD nią wrzuć: if (isset ($_POST['dodaj'])) { $oOrder->addToBasket( $_POST['produkt'], 1 ); $_SESSION['iOrderQuantity'.LANGUAGE] = $_SESSION['iOrderQuantity'.LANGUAGE] + 1; }
Acha, to jest rozwiązanie na dodawanie z poziomu listy produktów. Jak chcesz z poziomu pojedynczego widoku produktu, to odpowiednio "podreperuj" /templates/products_default.tpl i dostosuj w default.css i p.php
Co prawda product_default.tpl nie jest zepsuta ani uszkodzona, więc o reperowaniu nie może być mowy. Tego zwrotu użyłem mając na myśli "dostosuj/zmień".
boboo - jak zwykle full profeska, ale mam tylko jedno pytanie: jak zrobić żeby po naciśnięciu klawisza "dodaj do kosztyka" z listy towarów oczywiście, przeglądarka nie "skakała" do góry okna tylko pozostawała w miejscu w którym była?
MirasieZelazny, Ty to wiesz jak wykorzystać mój czas wolny :-D :-) w /templates/pages_default.tpl u samej góry, zaraz pod: <!-- BEGIN CONTAINER --> wstaw: <script type="text/javascript"> window.onload = function(){ if(window.name != "") document.documentElement.scrollTop = window.name; window.name = 0; } </script>
następnie w bloku (dalej ten sam template): <!-- BEGIN PRODUCTS_BASKET --> <div class="basket"> <form method="post" action="" > <input type="hidden" name="produkt" value="$aData[iProduct]" /> <input type="submit" class="dodaj" name="dodaj" value="$lang[Basket_add]" /> </form> </div> <!-- END PRODUCTS_BASKET --> zmień: <input type="submit" class="dodaj" name="dodaj" value="$lang[Basket_add]" /> na: <input type="submit" class="dodaj" name="dodaj" value="$lang[Basket_add]" onclick="window.name = document.documentElement.scrollTop;"/>
Niestety działa to tylko (aż) w IE(8- sprawdzone, inne IE- nie wiem), Firefox 3.5.9 (innych nie sprawdzałem), Opera 10.53 (innych nie sprawdzałem).
Na Chrome 4 (innych nie sprawdzałem) NIE działa!!!
Będę wdzięczny, jeśli ktoś da tu pomysł jak dorobić to do Chrome.
Rewelka - jakoś się przy najbliższej okazji rozliczymy :-) Niestety będę musiał chyba go wyciąć, bo zauważyłem że w etykiecie koszyka aktualizowana jest wyłącznie ilość produktów w koszyku, ale nie jest aktualizowana jego wartość w PLNach. Dopiero jak kliknę w klawisz koszyk to następuje aktualizacja jego wartości. sprawdzałem na IE8 i Firefox 3.6.3 ale na razie WIELKIE DZIĘKI
Uuups, zapomniałem o tym. No to zmień ten dodatek w /actions-client/p.php if (isset ($_POST['dodaj'])) { $oOrder->addToBasket( $_POST['produkt'], 1 ); $_SESSION['iOrderQuantity'.LANGUAGE] = $_SESSION['iOrderQuantity'.LANGUAGE] + 1; }
Dzięki Bogdan ale na razie nie - format sklepu który mam nie przewiduje go, na razie... :-) natomiast będę chyba będę robił kolejny sklep dla klienta to tam będę miał go na uwadze.
O nieźle wątek się rozkręcił, zapytałem i zapomniałem o tym... ja sobie trochę inaczej poradziłem z tym mianowicie wykorzystałem generateBasket( ) i header( 'Location: '.... ale dzieki za odpowiedz. Pozdrawiam.
Był problem!!! Po zastosowaniu pozycjonowania okna po klknięciu na "dodaj do koszyka" (window.onload = function(){ ) w opisany przeze mnie sposób (w pages_default) wystąpił problem w użytkowaniu lightboxa. Nie otwierał się, tylko po kliknięciu na miniaturkę otwierało się nowe okno/zakładka przeglądarki z dużym obrazkiem. Na szczęście udało mi się wyprostować problem: Tę funkcję window.onload () trzeba umieścić tylko w container.tpl i to NAD innymi odnośnikami do skryptów, które się tam znajdują!!! Czyli gdzieś w 14-15 linijce. I tylko tam.
Witam. Jestem nowy na tym forum i mam problem. Przerobiłem kod wg wskazówek boboo i jest ok. Z poziomu pages_default.tpl wszystko działa jak należy. Próbowałem zmienić kod podobnie w products_defaud.tpl w <!-- BEGIN BASKET --> i lipa. Po wybraniu "do koszyka" co prawda nie przechodzi do strony zawartości koszyka co jest ok. ale nie dodaje produktu do koszyka. Może wiecie jak to zrobić aby było ok. Pozdrawiam.
Boboo, a myślisz że byłaby taka możliwość w jakiś prosty sposób, wstawić na stałe zawartość szablonu orders_basket.tpl, wstawić na stałe pod listą produktów z pages_default.tpl i żeby po kliknięciu w dodaj do koszyka, ten wstawiony basket się aktualizował na bieżąco?
Bo z tej opcji opisanej powyżej przez Ciebie, działa mi tylko dodawanie do koszyka bez przeniesienia, za to nie są aktualizowane ceny i ilości na bieżąco.
moss, a jaką wersję QC posiadasz? ja na QC 3.x a teraz 4.x (Free) mam tak: http://strzelectwo.kimla.de (pobaw się, pododawaj do koszyka, pousuwaj itp.)