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










