

Вы Экономите...
#1
Отправлено 02 Октябрь 2013 - 00:28
Нужно от старой цены, отнять новую и получить число которое покупатель экономит.
Интересен сам код, куда ставить знаю
#2
Отправлено 02 Октябрь 2013 - 05:37
$(function() { $('.price').each(function() { if($(this).children('span').length && $(this).find('em').length && $(this).find('.saving').length) { var old = parseFloat($(this).children('span').text().replace(/\s+/, '')); var now = parseFloat($(this).find('em').text().replace(/\s+/, '')); var saving = number_format(old - now, 0, '.', ' '); $(this).find('.saving').text(saving + ' руб.'); } }); });
после в шаблон "Товары" после строки
<div class="price fnt12b txtalgnlft">
можете добавить
<div class="saving"></div>
после внутрь блока saving будет вставлена цена экономии.
#3
Отправлено 02 Октябрь 2013 - 19:44
Vaccina (02 Октябрь 2013 - 05:37) писал:
$(function() { $('.price').each(function() { if($(this).children('span').length && $(this).find('em').length && $(this).find('.saving').length) { var old = parseFloat($(this).children('span').text().replace(/\s+/, '')); var now = parseFloat($(this).find('em').text().replace(/\s+/, '')); var saving = number_format(old - now, 0, '.', ' '); $(this).find('.saving').text(saving + ' руб.'); } }); });
после в шаблон "Товары" после строки
<div class="price fnt12b txtalgnlft">
можете добавить
<div class="saving"></div>
после внутрь блока saving будет вставлена цена экономии.
#4
Отправлено 30 Март 2014 - 13:30
#5
Отправлено 01 Апрель 2014 - 02:54
$(function() { $('.price').each(function() { if($(this).children('span').length && $(this).find('em').length && $(this).find('.saving').length) { var old = parseFloat($(this).children('span').text().replace(/\s+/, '')); var now = parseFloat($(this).find('em').text().replace(/\s+/, '')); var saving = number_format(old - now, 0, '.', ' '); $(this).find('.saving').text(saving + ' руб.'); } }); });замените на:
//Вы экономите $(function() { $('.price').each(function() { if($(this).find('.old).length && $(this).find('.num').length && $(this).find('.saving').length) { var old = parseFloat($.trim($(this).find('.old).text()).replace(/\s+/, '')); var now = parseFloat($.trim($(this).find('.num').text()).replace(/\s+/, '')); var saving = number_format(old - now, 0, '.', ' '); $(this).find('.saving').text(saving + ' руб.'); } }); });далее в шаблоне товары найдите
<ul class="cost fnt11 fntupcase txtalgnlft fntarl fleft "> <li>Цена: {goods.MIN_PRICE_NOW | money_format}</li> {% IF goods.MIN_PRICE_OLD > goods.MIN_PRICE_NOW %} <li class="last linethrough">Старая цена: {goods.MIN_PRICE_OLD | number_format("0", ",", " ")} </li> <div class="saving">Вы экономите:</div> {%ENDIF%} </ul>замените на:
<ul class="cost fnt11 fntupcase txtalgnlft fntarl fleft "> <li>Цена: {goods.MIN_PRICE_NOW | money_format}</li> {% IF goods.MIN_PRICE_OLD > goods.MIN_PRICE_NOW %} <li class="last linethrough">Старая цена: <span class="old">{goods.MIN_PRICE_OLD | number_format("0", ",", " ")}</span> </li> Вы экономите:<div class="saving"></div> {%ENDIF%} </ul>
#6
Отправлено 01 Апрель 2014 - 09:05
#7
Отправлено 01 Апрель 2014 - 16:43
Vaccina (01 Апрель 2014 - 02:54) писал:
$(function() { $('.price').each(function() { if($(this).children('span').length && $(this).find('em').length && $(this).find('.saving').length) { var old = parseFloat($(this).children('span').text().replace(/\s+/, '')); var now = parseFloat($(this).find('em').text().replace(/\s+/, '')); var saving = number_format(old - now, 0, '.', ' '); $(this).find('.saving').text(saving + ' руб.'); } }); });замените на:
//Вы экономите $(function() { $('.price').each(function() { if($(this).find('.old).length && $(this).find('.num').length && $(this).find('.saving').length) { var old = parseFloat($.trim($(this).find('.old).text()).replace(/\s+/, '')); var now = parseFloat($.trim($(this).find('.num').text()).replace(/\s+/, '')); var saving = number_format(old - now, 0, '.', ' '); $(this).find('.saving').text(saving + ' руб.'); } }); });далее в шаблоне товары найдите
<ul class="cost fnt11 fntupcase txtalgnlft fntarl fleft "> <li>Цена: {goods.MIN_PRICE_NOW | money_format}</li> {% IF goods.MIN_PRICE_OLD > goods.MIN_PRICE_NOW %} <li class="last linethrough">Старая цена: {goods.MIN_PRICE_OLD | number_format("0", ",", " ")} </li> <div class="saving">Вы экономите:</div> {%ENDIF%} </ul>замените на:
<ul class="cost fnt11 fntupcase txtalgnlft fntarl fleft "> <li>Цена: {goods.MIN_PRICE_NOW | money_format}</li> {% IF goods.MIN_PRICE_OLD > goods.MIN_PRICE_NOW %} <li class="last linethrough">Старая цена: <span class="old">{goods.MIN_PRICE_OLD | number_format("0", ",", " ")}</span> </li> Вы экономите:<div class="saving"></div> {%ENDIF%} </ul>
Спасибо большое, но все равно не выводится разница.
Добавил к исходной цене класс .num (как в скрипте), но и с ним и без него не выходит число разницы =(
#8
Отправлено 02 Апрель 2014 - 03:14
<ul class="cost fnt11 fntupcase txtalgnlft fntarl fleft "> <li>Цена: {goods.MIN_PRICE_NOW | money_format}</li> {% IF goods.MIN_PRICE_OLD > goods.MIN_PRICE_NOW %} <li class="last linethrough">Старая цена: <span class="old">{goods.MIN_PRICE_OLD | number_format("0", ",", " ")}</span> </li> Вы экономите:<div class="saving"></div> {%ENDIF%} </ul>попробуйте убрать текст отсюда "Старая цена:" и "Цена:" изменения делали на основе вашего кода и все работало после изменений
#9
Отправлено 10 Июль 2014 - 06:50
#10
Отправлено 11 Июль 2014 - 00:57
На данной странице отображается сумма без именования, так как в самом шаблоне этого не задано. Вы можете в шаблоне "Товары" найти строку
<div class="saving"></div>
и заменить её на
Вы экономите: <div class="saving">0 руб.</div>
или же в файле main.js найдите строку
$(this).find('.saving').text(saving + ' руб.');
и замените её на
$(this).find('.saving').text('Вы экономите: ' + saving + ' руб.');
#11
Отправлено 16 Июль 2014 - 21:04
#12
Отправлено 17 Июль 2014 - 00:36
Цена сейчас: <a href="{goods.URL_MIN_PRICE_NOW}">{goods.MIN_PRICE_NOW | money_format}</a><br /> {% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %} Цена без учёта скидки: <a href="{goods.URL_MIN_PRICE_NOW_WITHOUT_DISCOUNT}" class="lineThrough">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</a><br /> <span class="listingDiscountInfo">До {goods.MAX_DISCOUNT_EXPIRED_AT | date} скидка составляет: {goods.MAX_DISCOUNT}%</span> {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %} Старая цена: <a href="{goods.URL_MIN_PRICE_OLD}" class="lineThrough">{goods.MIN_PRICE_OLD | money_format}</a> {% ENDIF %}
и замените его на
<span class="goodsListItemPrice"> Цена сейчас: <a href="{goods.URL_MIN_PRICE_NOW}" class="goodsListItemPriceNew">{goods.MIN_PRICE_NOW | money_format}</a><br /> {% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %} Цена без учёта скидки: <a href="{goods.URL_MIN_PRICE_NOW_WITHOUT_DISCOUNT}" class="goodsListItemPriceOld lineThrough">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</a><br /> <span class="listingDiscountInfo">До {goods.MAX_DISCOUNT_EXPIRED_AT | date} скидка составляет: {goods.MAX_DISCOUNT}%</span> {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %} Старая цена: <a href="{goods.URL_MIN_PRICE_OLD}" class="goodsListItemPriceOld lineThrough">{goods.MIN_PRICE_OLD | money_format}</a> {% ENDIF %} <br /><span class="saving-wrp" style="display: none;">Вы экономите: <span class="saving"></span></span> </span>
далее найдите
<div class="goodsListItemPriceNew"> <a href="{goods.URL_MIN_PRICE_NOW}">{goods.MIN_PRICE_NOW | money_format}</a> </div> <div class="goodsListItemPriceOld"> {% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %} <a href="{goods.URL_MIN_PRICE_NOW_WITHOUT_DISCOUNT}" class="lineThrough">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</a> {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %} <a href="{goods.URL_MIN_PRICE_OLD}" class="lineThrough">{goods.MIN_PRICE_OLD | money_format}</a> {% ENDIF %} </div>
и замените на
<div class="goodsListItemPrice"> <div class="goodsListItemPriceNew"> <a href="{goods.URL_MIN_PRICE_NOW}">{goods.MIN_PRICE_NOW | money_format}</a> </div> <div class="goodsListItemPriceOld"> {% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %} <a href="{goods.URL_MIN_PRICE_NOW_WITHOUT_DISCOUNT}" class="lineThrough">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</a> {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %} <a href="{goods.URL_MIN_PRICE_OLD}" class="lineThrough">{goods.MIN_PRICE_OLD | money_format}</a> {% ENDIF %} </div> <div class="saving-wrp" style="display: none;">Вы экономите: <span class="saving"></span></div> </div>
после этого в файл main.js добавьте
$(function () { $('.goodsListItemPrice').each(function () { if ($(this).find('.saving-wrp').length) { var old = parseFloat($(this).find('.goodsListItemPriceOld .num').text().replace(/\s+/, '')); var now = parseFloat($(this).find('.goodsListItemPriceNew .num').text().replace(/\s+/, '')); if (now < old) { var saving = number_format(old - now, 0, '.', ' '); $(this).find('.saving-wrp').show().find('.saving').text(saving + ' руб.'); } } }); });
#14
Отправлено 18 Июль 2014 - 09:46
tolikkansk (18 Июль 2014 - 06:42) писал:
<!-- Старая цена --> <span class="goodsDataMainModificationPriceOld lineThrough" title="Старая цена"> <!-- Если на товар действует скидка --> {% IF GOODS_MOD_PRICE_NOW_WITHOUT_DISCOUNT>GOODS_MOD_PRICE_NOW %} {GOODS_MOD_PRICE_NOW_WITHOUT_DISCOUNT | money_format} <!-- Если старая цена была больше новой --> {% ELSEIF GOODS_MOD_PRICE_OLD>GOODS_MOD_PRICE_NOW %} {GOODS_MOD_PRICE_OLD | money_format} {% ENDIF %} </span>и после него вставьте
<span class="goodsListItemPrice"> <a href="{goods.URL_MIN_PRICE_NOW}" class="goodsListItemPriceNew" style="display: none;"> {GOODS_MOD_PRICE_NOW | money_format}</a> {% IF goods.MOD_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %} <a href="{goods.URL_MIN_PRICE_NOW_WITHOUT_DISCOUNT}" class="goodsListItemPriceOld lineThrough" style="display: none;">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</a> <span class="listingDiscountInfo">До {goods.MAX_DISCOUNT_EXPIRED_AT | date} скидка составляет: {goods.MAX_DISCOUNT}%</span> {% ELSEIF GOODS_MOD_PRICE_OLD>GOODS_MOD_PRICE_NOW %} <a href="{goods.URL_MIN_PRICE_OLD}" class="goodsListItemPriceOld lineThrough" style="display: none;">{GOODS_MOD_PRICE_OLD | money_format}</a> {% ENDIF %} <span class="saving-wrp" >Вы экономите: <span class="saving"></span></span> </span>
#16
Отправлено 21 Июль 2014 - 10:14
tolikkansk (19 Июль 2014 - 20:24) писал:
{% ENDIF %} <span class="saving-wrp" >Вы экономите: <span class="saving"></span></span> </span>замените на
{% ENDIF %} <span class="saving-wrp" {% IF GOODS_MOD_PRICE_OLD=0 %} style="display:none;" {% ENDIF %} >Вы экономите: <span class="saving"></span></span> </span>
#17
Отправлено 21 Июль 2014 - 22:54
Ирина345 (18 Июль 2014 - 09:46) писал:
<!-- Старая цена --> <span class="goodsDataMainModificationPriceOld lineThrough" title="Старая цена"> <!-- Если на товар действует скидка --> {% IF GOODS_MOD_PRICE_NOW_WITHOUT_DISCOUNT>GOODS_MOD_PRICE_NOW %} {GOODS_MOD_PRICE_NOW_WITHOUT_DISCOUNT | money_format} <!-- Если старая цена была больше новой --> {% ELSEIF GOODS_MOD_PRICE_OLD>GOODS_MOD_PRICE_NOW %} {GOODS_MOD_PRICE_OLD | money_format} {% ENDIF %} </span>и после него вставьте
<span class="goodsListItemPrice"> <a href="{goods.URL_MIN_PRICE_NOW}" class="goodsListItemPriceNew" style="display: none;"> {GOODS_MOD_PRICE_NOW | money_format}</a> {% IF goods.MOD_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %} <a href="{goods.URL_MIN_PRICE_NOW_WITHOUT_DISCOUNT}" class="goodsListItemPriceOld lineThrough" style="display: none;">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</a> <span class="listingDiscountInfo">До {goods.MAX_DISCOUNT_EXPIRED_AT | date} скидка составляет: {goods.MAX_DISCOUNT}%</span> {% ELSEIF GOODS_MOD_PRICE_OLD>GOODS_MOD_PRICE_NOW %} <a href="{goods.URL_MIN_PRICE_OLD}" class="goodsListItemPriceOld lineThrough" style="display: none;">{GOODS_MOD_PRICE_OLD | money_format}</a> {% ENDIF %} <span class="saving-wrp" >Вы экономите: <span class="saving"></span></span> </span>
Но действует только на тех товарах, у которых в админке заполнено поле Старая цена.
А возможно чтобы надпись Вы экономите: появлялась и в товарах ( шаблон ТОВАР) на которые действует скидка по акции?
#18
Отправлено 21 Июль 2014 - 23:06
Цитата
Расчет ведется между суммами "Старая цена" и "Новая цена". Вычисляется разница, она и является суммой экономии.
Цитата
В необходимо место шаблона "Товар" добавьте строку (если этого еще не сделано)
<div class="saving-wrp" style="display: none;">Вы экономите: <span class="saving"></span></div>
Далее в файл main.js добавьте код
$(function () { $('div[itemprop="offerDetails"]').each(function () { if ($(this).find('.saving-wrp').length) { var old = parseFloat($(this).find('.goodsDataMainModificationPriceOld .num').text().replace(/\s+/, '')); var now = parseFloat($(this).find('.goodsDataMainModificationPriceNow .num').text().replace(/\s+/, '')); if (now < old) { var saving = number_format(old - now, 0, '.', ' '); $(this).find('.saving-wrp').show().find('.saving').text(saving + ' руб.'); } } }); });
#19
Отправлено 21 Июль 2014 - 23:45
Сake (21 Июль 2014 - 23:06) писал:
В необходимо место шаблона "Товар" добавьте строку (если этого еще не сделано)
<div class="saving-wrp" style="display: none;">Вы экономите: <span class="saving"></span></div>
Далее в файл main.js добавьте код
$(function () { $('div[itemprop="offerDetails"]').each(function () { if ($(this).find('.saving-wrp').length) { var old = parseFloat($(this).find('.goodsDataMainModificationPriceOld .num').text().replace(/\s+/, '')); var now = parseFloat($(this).find('.goodsDataMainModificationPriceNow .num').text().replace(/\s+/, '')); if (now < old) { var saving = number_format(old - now, 0, '.', ' '); $(this).find('.saving-wrp').show().find('.saving').text(saving + ' руб.'); } } }); });
#20
Отправлено 27 Август 2014 - 21:27
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных