bunnyb
-
Zawartość
9 -
Rejestracja
-
Ostatnia wizyta
Posty dodane przez bunnyb
-
-
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.
-
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.
-
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
-
to jeszcze napisz jaka wersja presty bo są znaczne różnice między 1.4 i 1.5
ale generalnie i tak wszystko sprowadza się do modyfikacji core czy to modułem czy przez override
O kurcze. A miałem to napisać na samym początku i wyleciało z głowy.
Prestashop 1.5.3.1
-
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.
[Moduł] ShipToPay (ship2pay) dla PrestaShop 1.6
w Moduły
Napisano · Zgłoś odpowiedź
Dzięki, u mnie było to samo.