Jump to content

Как сделать изменение цены при выборе атрибута на странице карточки товара?


Recommended Posts

support

В /templates/vamshop4/javascript/vamshop4.js внизу добавляйте:

$(function() {
$("select.options").on("change", function() {
            var myTag = $("select.options").find(":selected").attr("price");
            $(".our_price_display span.price").text(myTag);
});
});

В /templates/vamshop4/module/product_options/multi_options.html меняйте:

{foreach key=key_data item=item_data from=$options_data.DATA}
<option value="{$item_data.ID}">{$item_data.TEXT}   {if $item_data.MODEL}({$item_data.MODEL}){/if} {if $item_data.PRICE_PLAIN != 0}({$item_data.PREFIX}{$item_data.PRICE}){/if}</option>

на:

{foreach key=key_data item=item_data from=$options_data.DATA}
<option value="{$item_data.ID}" price="{$item_data.FULL_PRICE}">{$item_data.TEXT}   {if $item_data.MODEL}({$item_data.MODEL}){/if} {if $item_data.PRICE_PLAIN != 0}({$item_data.PREFIX}{$item_data.PRICE}){/if}</option>

Тогда при выборе атрибута будет менять основная цена товара сверху.

Вот без атрибута:

Screenshot from 2020-07-30 12-42-13.png

Вот с выбранным атрибутом:

Screenshot from 2020-07-30 12-42-18.png

Цена меняется при выборе атрибута.

 

Либо вариант для отдельнего атрибута price, а просто брать цену из описания атрибута:

<option value="">Выберите</option>
{foreach key=key_data item=item_data from=$options_data.DATA}
<option value="{$item_data.ID}">{$item_data.TEXT}   {if $item_data.MODEL}({$item_data.MODEL}){/if} {if $item_data.PRICE_PLAIN != 0}({$item_data.FULL_PRICE}){/if}</option>

и js код:

$(function() {
$("select.form-control").on("change", function() {
	var attr_price = $("select.form-control option:selected" ).text().replace(/[^0-9]/gi,'');
	$(".price.h3 span.price").text(attr_price+" руб.");
});
});    

 

Link to post
Share on other sites
  • support changed the title to Как сделать изменение цены при выборе атрибута на странице карточки товара?
×
×
  • Create New...