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 pobiera wagę każdego przedmiotu i oblicza cenę. Trzy różne przedmioty o wadze 2,5 kg kosztują 14,97 euro, trzykrotność tego samego przedmiotu o wadze 2,5 kg kosztuje 9,50 euro. Jeśli zamiast tego chcesz przeprowadzić obliczenia na podstawie masy całkowitej (w obu przypadkach wynik wyniesie 9,50 EUR), zmieniasz tylko funkcję obliczeniową w minimalnym stopniu:

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 uwzględnić także funkcję przedmiotu „Oznacz przedmiot jako bezpłatną wysyłkę” (dla każdego przedmiotu), przejdź do kolumny b.shippingfree i ustaw następującą opcję w „Ustawienia > Koszty wysyłki > Ustawienia zaawansowane > Przedmioty z bezpłatną wysyłką”.:

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