Перейти к содержанию
Официальный форум поддержки Simpla

Рекомендуемые сообщения

* интересно как показать сколько рублей экономится *
Я так сделал так, вставил после цен:

<!-- ЭКОНОМИЯ /-->
<span class="economy">экономия<br />
{$product->variants[0]->discont-$product->variants[0]->discount_price} {$currency->sign|escape}</span>
<!-- ЭКОНОМИЯ #End/-->

Возможно там еще нужно было перемножать на курс валют, но я дополнительные курсы не использую, поэтому и так работает.

Ссылка на сообщение
Поделиться на другие сайты
  • 3 недели спустя...

Для отображения старой цены на странице самого товара необходимо.
Дописать

products_variants.discont as discont,
в файле Storefront.class.php после

$query = sql_placeholder("SELECT products_variants.variant_id as variant_id, products_variants.sku as sku, products_variants.name as name, products_variants.price as price, products_variants.stock as stock,

Ссылка на сообщение
Поделиться на другие сайты

Вроде все точно сделал, но когда пишу старую цену она после перезагрузки страницы на 0 ставится. В чем причина?
Еще вопрос: Как выглядит запрос в БД для создания discont поля?

Ссылка на сообщение
Поделиться на другие сайты

100% сделал что то не правильно, я знаю минимум 4 человека которые реализовали по этой инструкции.
запрос выглядит так
ALTER TABLE `products_variants` ADD `discont` FLOAT NOT NULL DEFAULT '0' AFTER `position`

Ссылка на сообщение
Поделиться на другие сайты
  • 4 месяца спустя...

Всем привет.
Доработка после которой всё должно работать полноценно. То есть если у одного варианта есть старая цена а у другого нет.
В общем то что было до этого, работало неполноценно. Всё дело в скрипте.
Скрипт на страницах products catalog

<script>
var variants_price = new Array;
{foreach from=$products item=product}
variants_price[{$product->product_id|escape}] = new Array;
{foreach from=$product->variants item=variant}
variants_price[{$product->product_id|escape}][{$variant->variant_id|escape}] = '{$variant->discont*$currency->rate_from/$currency->rate_to|string_format:"%.2f"}';
{/foreach}
{/foreach}
var variants_prices = new Array;
{foreach from=$products item=product}
variants_prices[{$product->product_id|escape}] = new Array;
{foreach from=$product->variants item=variant}
variants_prices[{$product->product_id|escape}][{$variant->variant_id|escape}] = '{$variant->discount_price*$currency->rate_from/$currency->rate_to|string_format:"%.2f"}';
{/foreach}
{/foreach}
{literal}
function display_discont(product, variant)
{
if (variants_price[product][variant] == '0.00') {
$('#oldprice_'+product).addClass('hide');
} else {
$('#oldprice_'+product).removeClass('hide');
$('#variant_discont_'+product).html(variants_price[product][variant]);
}
$('#variant_price_'+product).html(variants_prices[product][variant]);
}
{/literal}
</script>

Выводится так.
<!-- Цена /-->

Цена: <span id="oldprice_{$product->product_id}" {if $product->variants[0]->discont==0}class="price hide"{/if}><STRIKE><span class="discontprise" id=variant_discont_{$product->product_id}>{$product->variants[0]->discont*$currency->rate_from/$currency->rate_to|string_format:"%.2f"}</span></STRIKE> {$currency->sign|escape} </span>


{if $product->variants[0]->discount_price>0}
<br /><span id="newprice_{$product->product_id}"><span id=variant_price_{$product->product_id}>{$product->variants[0]->discount_price*$currency->rate_from/$currency->rate_to|string_format:"%.2f"}</span> {$currency->sign|escape}</span>
{/if}

<!-- Цена #End /-->
<form action=cart method=get>
<p>
{if $product->variants|@count > 1}
<!-- Варианты товара /-->
<select name=variant_id onchange="display_discont({$product->product_id}, this.value);return false;" >
{foreach from=$product->variants item=variant}
<option value='{$variant->variant_id|escape}'>{$variant->name|escape}<strong></strong><br>
{/foreach}
</select>
<input type=button class="link_to_cart" onclick="document.cookie='from='+location.href+';path=/';this.form.submit();">
<br>
{elseif $product->variants|@count == 1}
<input type=hidden name=variant_id value='{$product->variants[0]->variant_id}'>
<input type=button class="link_to_cart" onclick="document.cookie='from='+location.href+';path=/';this.form.submit();">
{/if}
<!-- Варианты товара #END /-->
</p>
</form>

Ссылка на сообщение
Поделиться на другие сайты

На странице product
Скрипт
<script>
var variants_price = new Array;
variants_price[{$product->product_id|escape}] = new Array;
{foreach from=$product->variants item=variant}
variants_price[{$product->product_id|escape}][{$variant->variant_id|escape}] = '{$variant->discont*$currency->rate_from/$currency->rate_to|string_format:"%.2f"}';
{/foreach}
var variants_prices = new Array;
variants_prices[{$product->product_id|escape}] = new Array;
{foreach from=$product->variants item=variant}
variants_prices[{$product->product_id|escape}][{$variant->variant_id|escape}] = '{$variant->discount_price*$currency->rate_from/$currency->rate_to|string_format:"%.2f"}';
{/foreach}
{literal}
function display_discont(product, variant)
{
if (variants_price[product][variant] == '0.00') {
$('#oldprice_'+product).addClass('hide');
} else {
$('#oldprice_'+product).removeClass('hide');
$('#variant_discont_'+product).html(variants_price[product][variant]);
}
$('#variant_price_'+product).html(variants_prices[product][variant]);
}
{/literal}
</script>

Выводится так
<!-- Цена /-->

Цена: <span id="oldprice_{$product->product_id}" {if $product->variants[0]->discont==0}class="price hide"{/if}><STRIKE><span class="discontprise" id=variant_discont_{$product->product_id}>{$product->variants[0]->discont*$currency->rate_from/$currency->rate_to|string_format:"%.2f"}</span></STRIKE> {$currency->sign|escape} </span>


{if $product->variants[0]->discount_price>0}
<br /><span id="newprice_{$product->product_id}"><span id=variant_price_{$product->product_id}>{$product->variants[0]->discount_price*$currency->rate_from/$currency->rate_to|string_format:"%.2f"}</span> {$currency->sign|escape}</span>
{/if}

<!-- Цена #End /-->
<form action=cart method=get>
<p>
{if $product->variants|@count > 1}
<!-- Варианты товара /-->
<select name=variant_id onchange="display_discont({$product->product_id}, this.value);return false;" >
{foreach from=$product->variants item=variant}
<option value='{$variant->variant_id|escape}'>{$variant->name|escape}<strong></strong><br>
{/foreach}
</select>
<input type=button class="link_to_cart" onclick="document.cookie='from='+location.href+';path=/';this.form.submit();">
<br>
{elseif $product->variants|@count == 1}
<input type=hidden name=variant_id value='{$product->variants[0]->variant_id}'>
<input type=button class="link_to_cart" onclick="document.cookie='from='+location.href+';path=/';this.form.submit();">
{/if}
<!-- Варианты товара #END /-->
</p>
</form>

Ссылка на сообщение
Поделиться на другие сайты

Антон можете помочь с обновлением цены ява скриптом, если у меня старая цена в таблице products? Тобишь не зависит от вариаций товаров.

Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...

# Noxter как реализовать из таблицы products хз. Вообще в таблице products цен не наблюдаю )) А если цены в таблице products_variants то без разницы есть у тебя варианты или нет, работает тот метод что описан выше.

# asoloviev Пожалуйста! )))

Ссылка на сообщение
Поделиться на другие сайты
  • 7 месяцев спустя...

Сделал все по инструкции, сайт перестал работать, а именно захожу в панель и что-бы я не нажал никакие ссылки не ратают, загружается та же страница на кот. я нахожусь, на витрине сайта точно также..
симпла 1,4,3 на денвере
Кто знает в чем проблема? Хелп!

Ссылка на сообщение
Поделиться на другие сайты

Я тоже пробовал реализовать но получилось что все цены перечеркнуты и у всех цена 0,00
Это один гайд который я не смогу повторить, странно...

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...