Mamy klienta, który w swoim sklepie internetowym chciałby deaktywować wybranego przez siebie przewoźnika w przypadku, gdy kwota w koszyku przekroczy ustaloną kwotę.
O co chodzi…
Chodzi nam o zablokowanie możliwości wyboru pobrania przy kwocie > 6500
Co zrobiliśmy…
Najpierw należy ustalić ID przewoźnika. Jedną z metod jest wejście do ULEPSZENIA -> Wysyłka -> Przewoźnicy i odczytanie ID z kolumny przy interesującym nas przewoźniku.
Tu mała poprawka ponieważ każdorazowa edycja przewoźnika powoduje że zmienia się jego numer ID, a więc lepszym rozwiązaniem będzie tutaj operowanie na referencji przewoźnika.
W bazie danych w kolumnie ps_carrier jest kolumna id_reference którą dobrze było by odczytać. Nas załóżmy interesuje przewoźnik o ID 42
a więc jego numer referencyjny w moim przypadku to będzie… 4
Następnie w pliku \themes\xyz_theme\templates\chceckout\_partials\steps\shipping.tpl
zmieniamy
<div class="row delivery-option">
na
<div class="row delivery-option" {if $cart.totals.total.amount > 6500 && $carrier.id_reference == 4} style="display:none;"{/if}>
Oczywiście jeśli ktoś chce zostać przy ID zastosować może ten kawałek kodu:
<div class="row delivery-option" {if $cart.totals.total.amount > 6500 && $carrier_id == 42} style="display:none;"{/if}>
Co w efekcie sprawi, że gdy kwota w koszyku przekroczy ustaloną na sztywno wartość, przewoźnik zostanie ukryty za pomocą CSS.