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:
Tutaj masz kilka problemów: Wdrożenie zasady „od 40 kg: 49,90 EUR cena podstawowa + 0,59 EUR za kg” nie jest łatwe do wdrożenia, wartości takie jak 2999 nie są dokładne i nie ma możliwości indywidualnego przypisania kosztów wysyłki na artykuł . Aby to umożliwić, najpierw tworzymy nowe wolne pole tekstowe (np. „Attr5”) w obszarze Ustawienia> Artykuł> Pola tekstowe artykułu:
Teraz wypełnimy to pole wartością w euro dla wszystkich artykułów, które powinny mieć indywidualne koszty wysyłki. W przypadku liczb dziesiętnych zamiast przecinka używa się kropki:
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”:
Wreszcie w „Ustawieniach zaawansowanych” zapisujemy naszą nową funkcję obliczeniową w „Obliczeniu własnym”:
a359cdf87765551f0706
Ta funkcja bierze wagę każdego przedmiotu i oblicza cenę. Trzy różne przedmioty o wadze 2,5 kg kosztują 14,97 euro, trzy razy ten sam przedmiot o wadze 2,5 kg kosztują 9,50 euro. Jeśli chcesz wykonać obliczenia na podstawie masy całkowitej (z wynikiem 9,50 EUR w obu przypadkach), zmieniasz tylko minimalnie funkcję obliczania:
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