Jump to content

Recommended Posts

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

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

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

Link to post
Share on other sites
  • 3 weeks later...

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

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,

Link to post
Share on other sites

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

Link to post
Share on other sites

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

Link to post
Share on other sites
  • 4 months later...

Всем привет.
Доработка после которой всё должно работать полноценно. То есть если у одного варианта есть старая цена а у другого нет.
В общем то что было до этого, работало неполноценно. Всё дело в скрипте.
Скрипт на страницах 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>

Link to post
Share on other sites

На странице 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>

Link to post
Share on other sites

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

Link to post
Share on other sites
  • 2 weeks later...

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

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

Link to post
Share on other sites
  • 7 months later...

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

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...