chciałbym by w sklepie internetowym w podsumowaniu zakupów (przy tabelach z cenami) przy dostawa brutto zawsze był napis „do wyboru” zamiast ceny a przy 2000+ zł jest ustawiona opcja wysyłki bezpłatnej. Próbuję modyfikować kod strony w plikach shopping-cart i shopping-cart-advanced gdzie właśnie wywoływana jest cena (by zastąpić ją tłumaczeniem) ale nie działa to tak jak powinno bowiem co dodanie produktu napis „do wyboru” znika i pojawia się cena. Czy jest to możliwe do zrobienia czy jest do tego potrzebny jakiś moduł? Jestem grafikiem i ciężko mi się programuje dlatego takie problemy.

koszt wysyłki "do wyboru" zamiast konkretnej ceny
#2
Napisany 07 November 2017 - 07:48 AM
W tym przypadku tj. gdy ustawiona jest darmowa dostawa od pewnej kwoty - zmiany musi być bardziej złożone.
Trzeba przywrócić plik do stanu przed zmianami, tj zmodyfikowany fragment:
<td colspan="2" class="price">{l s='Free shipping!'}</td>
zmianiamy na oryginał:
<td colspan="2" class="price" id="total_shipping">{l s='Free shipping!'}</td>
(pamiętamy o zmianie tekstu na własny - w tym przypadku "do wyboru")
następnie otwieramy plik: /themes/nazwa-szablonu/js/cart-summary.js . jest tam kod (standardowo linia ~975)
if (json.total_shipping > 0) { if (priceDisplayMethod !== 0) $('#total_shipping').html(formatCurrency(json.total_shipping_tax_exc, currencyFormat, currencySign, currencyBlank)); else $('#total_shipping').html(formatCurrency(json.total_shipping, currencyFormat, currencySign, currencyBlank)); } else { if (json.carrier.id != null || json.free_ship) { $('#total_shipping').html(freeShippingTranslation); if (json.is_virtual_cart) $('.cart_total_delivery').hide(); } if (!hasDeliveryAddress) $('.cart_total_delivery').hide(); }
zmianiamy go na:
if (json.total_shipping > 0) { if (priceDisplayMethod !== 0) $('#total_shipping').html(dowyborutranslation); else $('#total_shipping').html(dowyborutranslation); } else { if (json.carrier.id != null || json.free_ship) { $('#total_shipping').html(freeShippingTranslation); if (json.is_virtual_cart) $('.cart_total_delivery').hide(); } if (!hasDeliveryAddress) $('.cart_total_delivery').hide(); }
następnie otwieramy plik: themes/nazwa-szablonu/global.tpl
i przed kończącym plik {/strip} dodajemy:
{addJsDefL name=dowyborutranslation}{l s='do wyboru'}{/addJsDefL}
sprawdziłem to - wszystko działa
po wprowadzeniu zmian może być konieczne:
- wyczyszczenie cache przeglądarki (przeglądarka możę pamiętać starą treść pliku js)
- rekompilacja szablonu - wyczyszczenie cache (preferences > performance w zapleczu)
1 użytkowników czyta ten temat
0 użytkowników, 1 gości, 0 anonimowych użytkowników