Jeśli sam dostarczasz zamówiony towar, przydałoby się rozróżnić minimalne wartości zamówienia dla różnych miast na obsługiwanym terenie.
Pytanie użytkownika portalu:
Chcialem uzyskac informacje czy i jak mozna zrobic w osC cos takiego: standardowa minimalna kwota zamowienia wynosi 30 zl, ale jesli klient jest oddalony o wiecej, niz 7 km - wtedy kwota rosnie do 60 zl.
Niestety nie ma możliwości określenia promienia okręgu w jakim ma obowiązywać dana minimalna kwota zamówienia. Można rozwiązać ten problem określając dzielnice lub ulice dla danej minimalnej kwoty zamówienia.
Na początek musimy stworzyć tabelę, w której będziemy przetrzymywać nazwy miast (krajów, dzielnic lub ulic) do których przypiszemy różne minimalne kwoty zamówienia.
testKod: sql
CREATE TABLE `orders_minimal` ( `minimal_id` INT( 11 ) NOT NULL AUTO_INCREMENT , `region_name` VARCHAR( 255 ) NOT NULL , `minimal_value` DECIMAL( 14, 6 ) NOT NULL DEFAULT '0', PRIMARY KEY ( `minimal_id` ) , INDEX ( `region_name` , `region_type` , `minimal_value` ) );
Następnie w pliku checkout_shipping.php, po kodzie:
testKod: php
if (!tep_session_is_registered('customer_id')) { $navigation->set_snapshot(); tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL')); }
powinniśmy dodać sprawdzenie w jakiej strefie minimalnego zamówienia znajduje się klient. Z tabeli address_book należy pobrać dane z interesującej nas kolumny i zestawić z ustawieniami zapisanymi w tabeli orders_minimal. Gdy w bazie orders_minimal znajdziemy interesujący nas region pobieramy minimalną wartość zamówienia i porównujemy ją z wartością produktów w koszyku. Jeśli wartość produktów będzie mniejsza musi nastąpić przekierowanie na stronę koszyka, gdzie powinna pojawić się informacja o wymaganej wartości zamówienia.
Musimy pamiętać, że należy ustawić podstawową minimalną wartość zamówienia.
Jeśli chcemy móc w pełni zarządzać naszym dodatkiem, należy stworzyć jeszcze plik zarządzania dodatkiem w panelu administracyjnym.
| 23 maja 2012 |
|
|
| Źródło: MeteoGroup |