Jump to content

Darmowa wysyłka, tylko dla wybranych przewoźników


Grafii76

Recommended Posts

Witam,

Czy da się wyłączyć darmową wysyłkę dla wybranych przewoźników?

 

Mam 3 przewoźników (odbiór osobisty, kurier Pocztex - dostawy w Polsce, kurier UPS - dostawy zagraniczne). Ustawione że darmowa wysyłka obowiązuje od 250 zł. Cena dostawy jest zawsze wyliczana na podstawie wagi produktu i wszystko działa OK, poza kurierem UPS.

 

Jak klient wybierze wysyłkę do Anglii i ma w koszyku powyżej 250 zł to wysyłka ustawia się za 0 zł. Chciałbym żeby dla tego przewoźnika nie było w ogóle darmowej wysyłki, tylko takie koszty jak mam ustawione w przewoźniku UPS.

 

Ma ktoś pomysł jak to zrobić?

Link to comment
Share on other sites

Najprościej ustaw "Darmowa dostawa obowiązuje od" na zero, a w przewoźnikach ustaw zakresy pocztex np:

pierwszy zakres

od 0 kg-29,99kg - 20 zł

drugi zakres

30 kg - 100 kg - 0zł

 

dla UPS:

od 0 kg-100 kg - 50zł

itd

 

Wtedy koszt wysyłki będzie pobierany z ustawień przewoźnika,a nie ustawień ogólnych.

Link to comment
Share on other sites

Witam,

Mam 2 strefy: Polska oraz UE

Nie mogę ustawić tak jak proponuje YaboL, ponieważ chcę żeby obowiązywały takie warunki:

 

Pocztex obsługuje tylko strefę Polska

Przesyłka od 0-30 kg - cena: 20 zł

Przesyłka od 30-60 kg - cena: 30 zł

itd., ale jeżeli zamówienie jest na kwotę powyżej 250zł, to wysyłka jest GRATIS, bez względu na wagę

 

UPS obsługuje tylko strefę UE

Przesyłka od 0-30 kg - cena: 140 zł

Przesyłka od 30-60 kg - cena: 160 zł

itd.

 

Jak jest tylko 1 przewoźnik i 1 strefa to wszystko jest OK, ale jak dodałem 2gą strefę i drugiego przewoźnika, to ustawienie o darmowej przesyłce z Wysyłka --> Preferencje, działają na obu przewoźników, a chciałbym żeby działały tylko na 1 przewoźnika. W Shoper da się tak zrobić bez problemu, a wygląda na to że w Presta jest to nie możliwe :(

Link to comment
Share on other sites

Wszystko się da we wszystkim tylko nie zawsze :)

Kiedyś to się robiło tak w pliku /classes/cart.php 

jest linijka:

if ($orderTotalwithDiscounts >= (float)($free_fees_price) && (float)($free_fees_price) > 0)

trzeba trochę pozmieniać:

if ($orderTotalwithDiscounts >= (float)($free_fees_price) && (float)($free_fees_price) > 0 && ($id_carrier != 3) )

oczywiście zamiast id_carrier != 3 dajesz id UPS.

Pamiętaj tylko że każda zmiana czegokolwiek w przewoźniku... zmienia jego id !!!

A i żeby było elegancko to oczywiście dajesz do override.

Edited by YaboL (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...