Polskie wsparcie PrestaShop

PrestaShop => PrestaShop 1.6 => Wątek zaczęty przez: adrian99 w Wrzesień 01, 2016, 11:53:47 am

Tytuł: Dynamiczna zmiana ceny po wpisaniu ilości na karcie produktu
Wiadomość wysłana przez: adrian99 w Wrzesień 01, 2016, 11:53:47 am
W tej chwili system przelicza w czasie rzeczywistym (dynamicznie) jeśli produkt na kombinacje i ładnie wyświetla dynamicznie cenę. Czy jest możliwość, aby po wpisaniu ilości np. 2 system podawał całkowitą cenę czyli jeśli wraz z kombinacjami było to 100 zł musiałby pomnożyć razy 2 szt i pokazałby 200 zł klientowi dynamicznie na karcie produktu. Brakuje takiego rozwiązania w Preście ponieważ cenę wraz z ilością podliczy dopiero po dodaniu do koszyka.
Tytuł: Odp: Dynamiczna zmiana ceny po wpisaniu ilości na karcie produktu
Wiadomość wysłana przez: west w Wrzesień 01, 2016, 12:34:29 pm
musisz zmodyfikować plik product.js wszystkie dane do obliczeń tam już są. Funkcje możesz również podejrzeć i skopiować
Tytuł: Odp: Dynamiczna zmiana ceny po wpisaniu ilości na karcie produktu
Wiadomość wysłana przez: adrian99 w Wrzesień 01, 2016, 03:49:27 pm
Oto rozwiązanie problemu:

Edytuj plik themes/default-bootstrap/js/product.js

1. Dodaj opcjonalnie po linijce 108

}
combinations = combinationsJS;
}

ten kod:

[code]$(document).ready(function(){
$("#quantity_wanted").change(function(){
    updateDisplay();
});
});

Odszukaj linijkę:

$('#our_price_display').text(formatCurrency(priceWithDiscountsDisplay, currencyFormat, currencySign, currencyBlank)).trigger('change');




i zamień ją na:

TotalpriceWithDiscountsDisplay = priceWithDiscountsDisplay * $("#quantity_wanted").val();
    $('#our_price_display').text(formatCurrency(TotalpriceWithDiscountsDisplay, currencyFormat, currencySign, currencyBlank)).trigger('change');


Teraz dokonaj edycji pliku themes/default-bootstrap/product.tpl

odszukaj:

{if !$PS_CATALOG_MODE}
<p id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none;"{/if}>
<input type="text" name="qty" id="quantity_wanted" class="text form-control" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" />
<a href="#" data-field-qty="qty" class="btn btn-outline status-enable button-minus btn-sm product_quantity_down">
<span><i class="fa fa-minus"></i></span>
</a>
<a href="#" data-field-qty="qty" class="btn btn-outline status-enable button-plus btn-sm product_quantity_up ">
<span><i class="fa fa-plus"></i></span>
</a>
<span class="clearfix"></span>
</p>
{/if}
i zmień kod według uznania.
{if !$PS_CATALOG_MODE}
<p id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none;"{/if}>
<label>Ilość</label>
<input type="number" min="1" step="1" name="qty" id="quantity_wanted" class="text" style="width: 100%;" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" />

<span class="clearfix"></span>
</p>
{/if}
Niestety przyciski plus minus mogą nie działać dlatego trzeba zamienić pole input TEXT na input NUMBER gdzie "min=1" to możliwa minimalna wartość, a "step=1" to co wartość co ile ma przeskakiwać liczba po kliknięciu w strzałkę góra/dół. Być może komuś się keidyś przyda

Zmiana cen względem ilości prestashop | zmiana ceny w czasie rzeczywistym po wpisaniu ilości na karcie produktu
Tytuł: Odp: Dynamiczna zmiana ceny po wpisaniu ilości na karcie produktu
Wiadomość wysłana przez: katb123 w Grudzień 18, 2020, 02:35:24 pm
Czy ktoś wie jak zrobić cos takiego, jak edytować te formuły w Presta 1.7? Niestety nie ma takiego pliku jak product.js, jest tylko theme i custom.js.
Tytuł: Odp: Dynamiczna zmiana ceny po wpisaniu ilości na karcie produktu
Wiadomość wysłana przez: west w Grudzień 27, 2020, 10:49:02 am
Masz podane wszystko na tacy. wystarczy skopiować. W PS 1.7 musisz pobrać wartości do custom.js