Если кому понадобится убрать отображение цены, если она не установлена на товар:OkayCMS писал(а):Некоторые используют товары с ценой ноль для обозначения подарков. Также в некоторых магазинах сопутсвующие услуги создаются в виде товаров с ценой 0. Например, если вы берете телевизор, то вы также можете получить услуги по его установке и настройке бесплатно. Но это нужно не всем, поэтому создается отдельный товар с ценой 0, а дальше клиент если хочет - добавляет себе такой товар, если не хочет - заказывает только телевизор.
Код: Выделить всё
{* Цена *}
{if $product->variant->price>0}
<div class="{if !$product->variant->compare_price}col-xs-12{else}col-xs-6{/if} h5 font-weight-bold m-b-0">
<span class="fn-price">{$product->variant->price|convert}</span> {$currency->sign|escape}
</div>
{/if}
{* @END Цена *}
Код: Выделить всё
{* Цена *}
{if $product->variant->price>0}
<div class="h4 font-weight-bold">
<span class="fn-price">{$product->variant->price|convert}</span> {$currency->sign|escape}
</div>
{/if}
{* @END Цена *}
Код: Выделить всё
{* Варианты товара *}
<select name="variant" class="fn-variant okaycms form-control c-select{if $product->variants|count < 2} hidden-xs-up{/if}">
{foreach $product->variants as $v}
<option value="{$v->id}" data-price="{$v->price|convert}" data-stock="{$v->stock}"{if $v->compare_price > 0} data-cprice="{$v->compare_price|convert}"{/if}{if $v->sku} data-sku="{$v->sku}"{/if}{if $v@first} selected{/if}>{if $v->name}{$v->name}{else}{$product->name|escape}{/if}</option>
{/foreach}
</select>
{* @END Варианты товара *}
Код: Выделить всё
if(selected.data( 'price' )){
price.html( selected.data( 'price' ) );
price.parent().removeClass( 'hidden-xs-up' );
} else {
price.parent().addClass( 'hidden-xs-up' );
}
Код: Выделить всё
{* Цена *}
<div class="{if !$product->variant->compare_price}col-xs-12{else}col-xs-6{/if} h5 font-weight-bold m-b-0 {if $product->variant->price == 0}hidden-xs-up{/if}">
<span class="fn-price">{$product->variant->price|convert}</span> {$currency->sign|escape}
</div>
{* @END Цена *}
Код: Выделить всё
{* Варианты товара *}
<select name="variant" class="fn-variant okaycms form-control c-select{if $product->variants|count < 2} hidden-xs-up{/if}">
{foreach $product->variants as $v}
<option value="{$v->id}" {if $v->price > 0}data-price="{$v->price|convert}"{/if} data-stock="{$v->stock}"{if $v->compare_price > 0} data-cprice="{$v->compare_price|convert}"{/if}{if $v->sku} data-sku="{$v->sku}"{/if}{if $v@first} selected{/if}>{if $v->name}{$v->name}{else}{$product->name|escape}{/if}</option>
{/foreach}
</select>
{* @END Варианты товара *}
А как тоже самое сделать для корзины? Убрать отображение в cart_purchases.tpl ?zyxer писал(а):Как вариант можно в okay.js изменить "price.html( selected.data( 'price' ) );" наКод: Выделить всё
if(selected.data( 'price' )){
price.html( selected.data( 'price' ) );
price.parent().removeClass( 'hidden-xs-up' );
} else {
price.parent().addClass( 'hidden-xs-up' );
}
Блок цены меняем на:Код: Выделить всё
{* Цена *}
<div class="{if !$product->variant->compare_price}col-xs-12{else}col-xs-6{/if} h5 font-weight-bold m-b-0 {if $product->variant->price == 0}hidden-xs-up{/if}">
<span class="fn-price">{$product->variant->price|convert}</span> {$currency->sign|escape}
</div>
{* @END Цена *}
И селект заменить на:Код: Выделить всё
{* Варианты товара *}
<select name="variant" class="fn-variant okaycms form-control c-select{if $product->variants|count < 2} hidden-xs-up{/if}">
{foreach $product->variants as $v}
<option value="{$v->id}" {if $v->price > 0}data-price="{$v->price|convert}"{/if} data-stock="{$v->stock}"{if $v->compare_price > 0} data-cprice="{$v->compare_price|convert}"{/if}{if $v->sku} data-sku="{$v->sku}"{/if}{if $v@first} selected{/if}>{if $v->name}{$v->name}{else}{$product->name|escape}{/if}</option>
{/foreach}
</select>
{* @END Варианты товара *}
Это для привью товара (файл tiny_products.tpl) в карточке товара по такому же принципу
Код: Выделить всё
{* Цена за ед. *}
<div class="purchase-price hidden-md-down">
<span {if $purchase->variant->price == 0}class="hidden-xs-up"{/if}>{($purchase->variant->price)|convert} {$currency->sign}</span>
</div>
Код: Выделить всё
{* Общая цена *}
<div class="purchase-full-price">
<span {if $purchase->variant->price == 0}class="hidden-xs-up"{/if}>{($purchase->variant->price*$purchase->amount)|convert} {$currency->sign}</span>
</div>
Спасибо!zyxer писал(а):{* Общая цена *}
<div class="purchase-full-price">
<span {if $purchase->variant->price == 0}class="hidden-xs-up"{/if}>{($purchase->variant->price*$purchase->amount)|convert} {$currency->sign}</span>
</div>
zyxer писал(а):Блок цены меняем на:
Код: Выделить всё
{* Цена *}
<div class="{if !$product->variant->compare_price}col-xs-12{else}col-xs-6{/if} h5 font-weight-bold m-b-0 {if $product->variant->price == 0}hidden-xs-up{/if}">
<span class="fn-price">{$product->variant->price|convert}</span> {$currency->sign|escape}
</div>
{* @END Цена *}
Код: Выделить всё
+ " " + suggestion.currency
Код: Выделить всё
return "<div>" + (suggestion.data.image ? "<img align=absmiddle src='" + suggestion.data.image + "'> " : '') + "</div>" + "<a href=" + suggestion.lang + "products/" + suggestion.data.url + '>' + suggestion.value.replace( new RegExp( pattern, 'gi' ), '<strong>$1<\/strong>' ) + '<\/a>' + "<span>" + suggestion.price + "</span>";
Код: Выделить всё
foreach($products as $product) {
$suggestion = new stdClass();
if(isset($images[$product->id])) {
$product->image = $okay->design->resize_modifier($images[$product->id], 35, 35);
}
if ($variants[$product->id][0]->price > 0) {
$suggestion->price = $okay->money->convert($variants[$product->id][0]->price, $currency->id) . ' ' . $currency->sign;
} else {
$suggestion->price = 'нет в наличии';
}
$suggestion->value = $product->name;
$suggestion->data = $product;
$suggestion->lang = $lang_link;
$suggestions[] = $suggestion;
}
Вернуться в «Предложения по улучшению OkayCMS»
Сейчас этот раздел просматривают: 17 гостей