Zawartość artykułu
Gdzie jest ta informacja?
W starych instalacjach Presta Shop była taka funkcjonalność w koszyku:
Niestety w nowych instalacjach musisz sobie taką funkcję dopisać 🙂
Od czego zacząć?
Na początku musisz zdeklarować próg od którego będzie darmowa dostawa. Opisywaliśmy to tutaj: https://pskrk.com/presta-shop-1-6-ustawienie-darmowej-wysylki-po-przekroczeniu-okreslonej-ceny-zamowienia/
(Użyj metody w preferencjach – globalnej dla wszystkich przewoźników)
Co gdzie zmienić w kodzie?
Otwórz plik:
/themes/{TWÓJ-SZABLON}/shopping-cart.tpl
Po tym fragmencie kodu:
<div id="HOOK_SHOPPING_CART">{$HOOK_SHOPPING_CART}</div>
Dopisz:
{assign var='freeshipping_price' value=Configuration::get('PS_SHIPPING_FREE_PRICE')} {if $freeshipping_price} <span class="free_shipping_from"> {assign var='freeshipping_price_converted' value={toolsConvertPrice price=$freeshipping_price}} {math equation='a-b' a=$total_price b=$total_shipping assign='total_without_shipping'} {math equation='a-b' a=$freeshipping_price_converted b=$total_without_shipping assign='remaining_to_spend'} {if $remaining_to_spend > 0} <p>{l s='Your total (without shipping) is'} {convertPrice price=$total_without_shipping}</p> <p><strong>{l s='You will be eligible for free shipping if you spend another'} {convertPrice price=$remaining_to_spend}</strong></p> {/if} </span> {/if}
Oczywiście możesz przetłumaczyć te angielskie opisy albo od razu wstawić w kodzie polskie.
Gotowe! Przydało by się także jakieś podstawowe stylowanie tej informacji.
W pliku:
/themes/{TWÓJ-SZABLON}/css/global.css
Dopisz:
.free_shipping_from { text-align: right; padding-bottom: 10px; display:block; }
U mnie ten kod nie przyniósł oczekiwanych efektów… napis wyświetla się podwójnie, a do tego po przetłumaczeniu na polski pierwszy jest po polsku, a drugi po angielsku 🙁 Masz pomysł co z tym zrobić może?
Fajna idea, ale po zwiększeniu liczby produktów w koszyku, a tym samym zwiększeniu sumy cen produktów, wyświetlane komunikaty nie aktualizują się. Trzeba przeładować stronę. Czy tak ma być, czy ja coś źle zrobiłem?
A co w przypadku gdy darmowa wysyłka jest ustawiona tylko w preferencjach jednego przewoźnika (zależna od ceny zamówienia)?
Dzięki za porady. 😉