bunnyb
Members-
Zawartość
9 -
Rejestracja
-
Ostatnia wizyta
Zawartość dodana przez bunnyb
-
Dzięki, u mnie było to samo.
-
Firma Przelewy24 właśnie udostępniła nową wersję - 3.0.2. Została ona specjalnie przygotowana pod Prestę 1.5/1.6. Teraz płatność z konta gościa działa bez problemu. Kolejna nowość to ponowne przejście do strony z płatnością, jeśli w trakcie np. zerwało klientowi połączenie. Nie ma potrzeby generowania nowego zamówienia. Super. Jak na razie moduł działa bez zarzutów.
-
Potwierdzam. Na 1.5.6.2 występuje ten sam problem. Po kliknięciu na "Potwierdzam zamówienie" jako gość następuje przekierowanie do strony logowania/rejestracji.
-
Witam Klient wybiera płatność poprzez przelewy24 i w trakcie dokonywania płatności połączenie zostaje przerwane. Płatność nie zostaje zaakceptowana. Czy ktoś orientuje się, jak w takim wypadku podesłać/wygenerować klientowi link do płatności przez przelewy24 dla takiego zamówienia? Z tego co ja rozumiem, to klient musi jeszcze raz złożyć takie samo zamówienie i wybrać przelewy24.
-
Koszt dostawy zależny od wagi oraz wartości zamówienia
bunnyb dodał temat w Instalacja i aktualizacja
Witam. Mam problem z konfiguracją kosztów wysyłki, które niestety zależne są od wagi oraz wartości zamówienia. Szukam rozwiązania od tygodni, ale na razie bez rezultatu. Dla dwóch opcji wysyłki - "kurier przelew" oraz "kurier pobranie" - ustawione są zakresy wagowe i ich koszty. Kruczek polega na tym, aby dla każdego zakresu wagowego ustawić różny koszt darmowej dostawy. A mianowicie: Kurier przelew - koszt 15zł; darmowa dostawa od 250zł ( paczka do 30kg ) Kurier pobranie- koszt 20zł; darmowa dostawa od 500zł ( paczka do 30kg ) Koszt dostawy dla kilku paczek: koszt dostawy - koszt dostawy jednej paczki * ilość paczek darmowa dostawa - wartość zamówienia dla darmowej dostawy * ilość paczek Kurier przelew: 0-30kg - wysyłka 15zł; darmowa dostawa - od 250zł 30-60kg - wysyłka 30zł; darmowa dostawa - od 500zł 60-90kg - wysyłka 45zł; darmowa dostawa - od 750zł 90-120kg - wysyłka 60zł; darmowa dostawa - od 1000zł ... itd. do 300kg Kurier pobranie: 0-30kg - wysyłka 20zł; darmowa dostawa - od 500zł 30-60kg - wysyłka 40zł; darmowa dostawa - od 1000zł 60-90kg - wysyłka 60zł; darmowa dostawa - od 1500zł 90-120kg - wysyłka 80zł; darmowa dostawa - od 2000zł ... itd. do 300kg Czy takie rozwiązanie jest w ogóle możliwe? Może gdzieś w kodzie źródłowym da się wstawić na twardo kilka warunków typu "if"? Czy konieczny jest moduł na zamówienie? Ja wypróbowałem już każdą opcję w prestashop, w tym różne reguły i ustawienia koszyka. Jeśli ktoś ma jakieś propozycje będę bardzo wdzięczny. -
Koszt dostawy zależny od wagi oraz wartości zamówienia
bunnyb odpowiedział bunnyb → temat → Instalacja i aktualizacja
Udało mi się to w końcu rozwiązać. Dodałem poniższy kod do funkcji 'getDeliveryOptionList()' w pliku Cart.php. <span class="syntaxdefault">if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$data</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'price_with_tax'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> 13.5 </span><span class="syntaxkeyword">||</span><span class="syntaxdefault"> $data</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'price_with_tax'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> 17</span><span class="syntaxkeyword">) </span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{ </span><span class="syntaxdefault"> </span><span class="syntaxcomment"># Domyślna ilość paczek 30-kilogramowych </span><span class="syntaxdefault"> $parcelCount </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> 1</span><span class="syntaxkeyword">; </span><span class="syntaxdefault"> </span><span class="syntaxcomment"># Pobiera calkowitą wartość zamówienia dla samych produktów oraz całkowitą wagę </span><span class="syntaxdefault"> $wholeOrder </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">getOrderTotal</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">false</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> Cart</span><span class="syntaxkeyword">::</span><span class="syntaxdefault">ONLY_PRODUCTS</span><span class="syntaxkeyword">); </span><span class="syntaxdefault"> $wholeWeight </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">getTotalWeight</span><span class="syntaxkeyword">(); </span><span class="syntaxdefault"> </span><span class="syntaxcomment"># Ustala ilość 30-kilogramowych paczek </span><span class="syntaxdefault"> if </span><span class="syntaxkeyword">((</span><span class="syntaxdefault">$wholeWeight </span><span class="syntaxkeyword">/</span><span class="syntaxdefault"> 30</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">></span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">) </span><span class="syntaxdefault"> if </span><span class="syntaxkeyword">((</span><span class="syntaxdefault">$wholeWeight </span><span class="syntaxkeyword">%</span><span class="syntaxdefault"> 30</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">) </span><span class="syntaxdefault"> $parcelCount </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> intval</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$wholeWeight </span><span class="syntaxkeyword">/</span><span class="syntaxdefault"> 30</span><span class="syntaxkeyword">); </span><span class="syntaxdefault"> else $parcelCount </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> intval</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$wholeWeight </span><span class="syntaxkeyword">/</span><span class="syntaxdefault"> 30</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">+</span><span class="syntaxdefault"> 1</span><span class="syntaxkeyword">; </span><span class="syntaxdefault"> </span><span class="syntaxcomment"># Ustala liczbę darmowych paczek </span><span class="syntaxdefault"> if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$data</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'price_with_tax'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> 13.5</span><span class="syntaxkeyword">) </span><span class="syntaxdefault"> $freeCount </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> intval</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$wholeOrder </span><span class="syntaxkeyword">/</span><span class="syntaxdefault"> 250</span><span class="syntaxkeyword">);</span><span class="syntaxdefault"> else if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$data</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'price_with_tax'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> 17</span><span class="syntaxkeyword">) </span><span class="syntaxdefault"> $freeCount </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> intval</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$wholeOrder </span><span class="syntaxkeyword">/</span><span class="syntaxdefault"> 500</span><span class="syntaxkeyword">); </span><span class="syntaxdefault"> </span><span class="syntaxcomment"># Zwraca koszt wysyłki z uwzględnieniem darmowych paczek </span><span class="syntaxdefault"> if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$parcelCount </span><span class="syntaxkeyword">></span><span class="syntaxdefault"> $freeCount</span><span class="syntaxkeyword">) </span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{ </span><span class="syntaxdefault"> $delivery_option_list</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$id_address</span><span class="syntaxkeyword">][</span><span class="syntaxdefault">$key</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'total_price_with_tax'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $data</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'price_with_tax'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">*</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$parcelCount </span><span class="syntaxkeyword">-</span><span class="syntaxdefault"> $freeCount</span><span class="syntaxkeyword">); </span><span class="syntaxdefault"> $delivery_option_list</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$id_address</span><span class="syntaxkeyword">][</span><span class="syntaxdefault">$key</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'total_price_without_tax'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $data</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'price_without_tax'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">*</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$parcelCount </span><span class="syntaxkeyword">-</span><span class="syntaxdefault"> $freeCount</span><span class="syntaxkeyword">); </span><span class="syntaxdefault"> </span><span class="syntaxkeyword">} </span><span class="syntaxdefault"> else </span><span class="syntaxkeyword">{ </span><span class="syntaxdefault"> $delivery_option_list</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$id_address</span><span class="syntaxkeyword">][</span><span class="syntaxdefault">$key</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'total_price_with_tax'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $total_price_with_tax</span><span class="syntaxkeyword">; </span><span class="syntaxdefault"> $delivery_option_list</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$id_address</span><span class="syntaxkeyword">][</span><span class="syntaxdefault">$key</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'total_price_without_tax'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $total_price_without_tax</span><span class="syntaxkeyword">; </span><span class="syntaxdefault"> </span><span class="syntaxkeyword">} </span><span class="syntaxdefault"> $delivery_option_list</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$id_address</span><span class="syntaxkeyword">][</span><span class="syntaxdefault">$key</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'position'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $position </span><span class="syntaxkeyword">/</span><span class="syntaxdefault"> count</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$value</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'carrier_list'</span><span class="syntaxkeyword">]); </span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}</span><span class="syntaxdefault"> </span> Teraz potrzebne są kolejne zmiany, aby zmodyfikowany koszt wysyłki był wyświetlany w pozostałych miejscach. Czyli w historii zamówień w panelu klienta, w wysyłanych mailach oraz w BO w szczegółach zamówienia. -
Koszt dostawy zależny od wagi oraz wartości zamówienia
bunnyb odpowiedział bunnyb → temat → Instalacja i aktualizacja
Witam. Dałem zlecenie na rozwiązanie powyższego problemu w odpowiednim dziale. Niestety nie ma chętnych na wykonanie zlecenia. Dlatego sam napisałem trochę kodu, ale i tak potrzebuję pomocy, żeby to w końcu skończyć. Pomysły mile widziane. Ustaliłem gdzie w kodzie ustalany jest koszt wysyłki i tam się podpiąłem: classes/Cart.php, funkcja getTotalShippingCost(...). W moim przypadku dla wyłączonych podatków jest to linia 2410. Dodałem za nią taki kod: <span class="syntaxdefault"> </span><span class="syntaxcomment"># Domyślna ilość paczek 30-kilogramowych </span><span class="syntaxdefault"> $parcelCount </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> 1</span><span class="syntaxkeyword">; </span><span class="syntaxdefault"> </span><span class="syntaxcomment"># Pobiera calkowitą wartość zamówienia dla samych produktów oraz całkowitą wagę </span><span class="syntaxdefault"> $wholeOrder </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">getOrderTotal</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">false</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> Cart</span><span class="syntaxkeyword">::</span><span class="syntaxdefault">ONLY_PRODUCTS</span><span class="syntaxkeyword">); </span><span class="syntaxdefault"> $wholeWeight </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">getTotalWeight</span><span class="syntaxkeyword">(); </span><span class="syntaxdefault"> </span><span class="syntaxcomment"># Ustala ilość 30-kilogramowych paczek </span><span class="syntaxdefault"> if </span><span class="syntaxkeyword">((</span><span class="syntaxdefault">$wholeWeight </span><span class="syntaxkeyword">/</span><span class="syntaxdefault"> 30</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">></span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">) </span><span class="syntaxdefault"> if </span><span class="syntaxkeyword">((</span><span class="syntaxdefault">$wholeWeight </span><span class="syntaxkeyword">%</span><span class="syntaxdefault"> 30</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">) </span><span class="syntaxdefault"> $parcelCount </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> intval</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$wholeWeight </span><span class="syntaxkeyword">/</span><span class="syntaxdefault"> 30</span><span class="syntaxkeyword">); </span><span class="syntaxdefault"> else $parcelCount </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> intval</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$wholeWeight </span><span class="syntaxkeyword">/</span><span class="syntaxdefault"> 30</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">+</span><span class="syntaxdefault"> 1</span><span class="syntaxkeyword">; </span><span class="syntaxdefault"> </span><span class="syntaxcomment"># Ustala liczbę darmowych paczek </span><span class="syntaxdefault"> $freeCount </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> intval</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$wholeOrder </span><span class="syntaxkeyword">/</span><span class="syntaxdefault"> 250</span><span class="syntaxkeyword">); </span><span class="syntaxdefault"> </span><span class="syntaxcomment"># Zwraca koszt wysyłki z uwzględnieniem darmowych paczek </span><span class="syntaxdefault"> if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$parcelCount </span><span class="syntaxkeyword">></span><span class="syntaxdefault"> $freeCount</span><span class="syntaxkeyword">) </span><span class="syntaxdefault"> $total_shipping </span><span class="syntaxkeyword">*=</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$parcelCount </span><span class="syntaxkeyword">-</span><span class="syntaxdefault"> $freeCount</span><span class="syntaxkeyword">); </span><span class="syntaxdefault"> </span> Koszt wysyłki jest obliczany tak jak potrzebuję, jednak tylko dla jednego przewoźnika. Linię <span class="syntaxdefault">$freeCount </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> intval</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$wholeOrder </span><span class="syntaxkeyword">/</span><span class="syntaxdefault"> 250</span><span class="syntaxkeyword">);</span><span class="syntaxdefault"> </span> potrzebuję rozbić na 2 "if'y" - dla "Kurier przelew" oraz "Kurier pobranie". A to dlatego, że dla "Kurier pobranie" linia będzie miała postać: <span class="syntaxdefault">$freeCount </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> intval</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$wholeOrder </span><span class="syntaxkeyword">/</span><span class="syntaxdefault"> 500</span><span class="syntaxkeyword">);</span><span class="syntaxdefault"> </span>.Stąd moje pytanie - jak w tym miejscu w kodzie pobrać identyfikator aktualnie zaznaczonej opcji wysyłki? Drugi problem występuje w 4 kroku przy wyborze wysyłki. Tutaj dla każdej opcji wysyłki wyświetlane są jednostkowe koszty wysyłki ustalone w BO. Natomiast musi być wyświetlany koszt zwracany przez zmienioną funkcję getTotalShippingCost(). Drugie pytanie więc brzmi - jak w pliku order-carrier.tpl podmienić jednostkowy koszt na wynik funkcji getTotalShippingCost()? Dziękuję za wszelkie sugestie. -
Witam Mam do zaoferowania łatwe zlecenie dla kogoś, kto zna się na Prestashop. Wersja prestashop: 1.5.3.1 Cel: zmodyfikować mechanizm naliczania kosztów wysyłki. Mają one być zależne od wagi oraz wartości zamówienia. Dokładny opis: Szczegółowe informacje potrzebne do zrealizowania tego zadania podałem już w tym poście - http://prestadesign.pl/konfiguracja-f12/koszt-dostawy-zalezny-od-wagi-oraz-wartosci-zamowienia-t4419.html Dodatkowe potrzebne informacje: - Koszt wysyłki i wartość zamówienia dla darmowej wysyłki dla poszczególnych zakresów wagowych muszą być konfigurowalne. - Aktualny koszt wysyłki musi być odpowiednio uaktualniany w bloku koszyka, w podsumowaniu zamówienia, ... czyli tam gdzie jest on wyświetlany. Proszę śmiało wysyłać propozycje na aintmark@gmail.com. Proszę o podanie zrealizowanych już projektów do prestashop dla potwierdzenia umiejętności. Jeśli zlecenie będzie wykonane sprawnie, będą kolejne. Będę potrzebował fakturę. Pozdrawiam
-
Koszt dostawy zależny od wagi oraz wartości zamówienia
bunnyb odpowiedział bunnyb → temat → Instalacja i aktualizacja
O kurcze. A miałem to napisać na samym początku i wyleciało z głowy. Prestashop 1.5.3.1