Shopware: Indywidualne koszty wysyłki

Shopware ma potężny moduł kosztów wysyłki, który możesz w szczególności interweniować w obliczeniach. W naszym przypadku chcemy zaimplementować następujący scenariusz: Koszty wysyłki na artykuł są wstępnie ustalane na podstawie wagi artykułu (limity wagowe są określone). Tylko w wyjątkowych przypadkach powinno być możliwe ustalenie stałych kosztów wysyłki dla każdej pozycji.


Tabela kosztów wysyłki wygląda następująco:

Waga Przytyć Cena £
0 kg <3 kg 4,99 €
3 kg <5 kg 6,90 €
5 kg <10 kg 9,50 €
10 kg <15 kg 10,90 €
15 kg <20 kg 12,90 €
20 kg <31 kg 17,90 €
31 kg <40 kg 49,90 €
od 40 kg 49,90 € cena podstawowa + 0,59 € za kg

Na początku możesz wpaść na pomysł, aby wybrać wartość „Waga” w polu „Obliczanie kosztów wysyłki według:” i wprowadzić poniżej odpowiednie limity:

Shopware: Indywidualne koszty wysyłki

Pojawia się tu kilka problemów: zasada „od 40 kg: 49,90 EUR cena bazowa + 0,59 EUR za kg” nie jest łatwa do wdrożenia, wartości takie jak 2,999 są niedokładne, a opcja przypisywania indywidualnych kosztów wysyłki do każdego przedmiotu jest niedostępna. Aby rozwiązać ten problem, najpierw tworzymy nowe pole tekstowe (np. „attr5”) w Ustawieniach > Przedmioty > Pola tekstowe przedmiotu.:

Shopware: Indywidualne koszty wysyłki

Teraz wypełnimy to pole wartością w euro dla wszystkich pozycji, dla których powinny być naliczone indywidualne koszty wysyłki. W przypadku liczb dziesiętnych użyj kropki zamiast przecinka.:

Shopware: Indywidualne koszty wysyłki

Na koniec tworzymy nowy sposób dostawy z ważnymi ustawieniami „Obliczanie kosztów wysyłki według: Obliczenia własne” i „Współczynnik (%): 100”:

Shopware: Indywidualne koszty wysyłki

Wreszcie w „Ustawieniach zaawansowanych” zapisujemy naszą nową funkcję obliczeniową w „Obliczeniu własnym”:

a359cdf87765551f0706

Ta funkcja oblicza wagę każdego przedmiotu i jego cenę. Trzy różne przedmioty o wadze 2,5 kg każdy kosztowałyby zatem 14,97 €, a trzy identyczne przedmioty o wadze 2,5 kg każdy – 9,50 €. Aby obliczyć cenę na podstawie wagi całkowitej (co w obu przypadkach daje 9,50 €), wystarczy wprowadzić niewielką korektę w funkcji obliczeniowej.:

a359cdf87765551f0706

Jeśli sprzedawcy mają być również uwzględnieni, musisz uważać na ceny określone w zapytaniu SQL, niezależnie od tego, czy są to ceny netto, czy brutto (w zależności od wartości ustawionych w Ustawieniach podstawowych> Ustawienia sklepu> Grupy klientów> Wprowadź ceny brutto).

Jeśli chcesz wziąć pod uwagę funkcję przedmiotu „Oznacz przedmiot jako bezpłatną wysyłkę” (dla każdej pozycji), zaadresuj kolumnę b.shippingfree i ustaw następującą opcję w Ustawienia> Koszty wysyłki> Ustawienia zaawansowane> Bezpłatna wysyłka.:

Z pomocą SQL możesz budować dowolne złożone zapytania. Zaleca się przygotowanie ostatecznego zapytania przy pomocy zmiennych SQL, aby całość była łatwa w utrzymaniu. Poniżej znajduje się przykład bardziej złożonego zapytania, które rozróżnia klientów sklepu i sprzedawców detalicznych, bierze pod uwagę bezpłatną wysyłkę, nalicza tylko koszty wysyłki dla maksymalnego koszyka i wybiera różne skale cenowe (w zależności od marki):

a359cdf87765551f0706

Plecy