• Страница 1 из 1
  • 1
Модератор форума: Yuri_G  
Сообщество uCoz » Модули uCoz » Интернет-магазин » Скрыть условным оператором
Скрыть условным оператором
Aleksey1488
Сообщений: 6
Репутация: 0

Сообщение # 1 | 22:00:28
Здравствуйте, нужно скрыть условным оператором блок. Код с модуля "Интернет-Магазин" а
точнее корзина. И когда в ней нечего нету, я хочу что бы блока не было.


Код
<!-- Блок корзина -->  
  <div class="wblock bvote"><div class="dbg"><div class="dtop"><div class="dbtm"><div style="padding-top: 10px; margin-left: 25px; color: #FF0000; text-shadow: 0 1px 0 #FFFFFF; font-size: 12px; "><b>Неоплаченные товары<br></b></div>  
   <div class="bcont">  
   <center>  
  <div align="left">$BASKET$   
   </div></center>  
   </div>  
   </div></div>  
   </div>  
   </div>  
  <!-- /Блок корзина -->
HETPE3B
Сообщений: 1976
Репутация: 409

Сообщение # 2 | 16:59:01
<?if $NUM_ENTRIES$?> код корзины <?endif?>

При этом корзина не должна иметь явно заданных размеров, иначе она не исчезнет

Aleksey1488
Сообщений: 6
Репутация: 0

Сообщение # 3 | 17:58:31
HETPE3B, А можете скинуть готовый уже, то я что-то по пробовал, не чего не получается.
Сообщение отредактировал Aleksey1488 - Вторник, 24 Сен 2013, 18:38:59
HETPE3B
Сообщений: 1976
Репутация: 409

Сообщение # 4 | 09:53:54
Aleksey1488, настраивается индивидуально для сайта, давайте код своей корзины

Aleksey1488
Сообщений: 6
Репутация: 0

Сообщение # 5 | 10:56:43
HETPE3B, а где его взять ?
HETPE3B
Сообщений: 1976
Репутация: 409

Сообщение # 6 | 10:31:53
Aleksey1488, ПУ - Управление дизайном - Корзина

Aleksey1488
Сообщений: 6
Репутация: 0

Сообщение # 7 | 14:11:09
HETPE3B, вот код, буду рад, если поможете.
Код
<?if($BODY$)?><ul>$BODY$</ul><?endif?>
<?if($NUM_ENTRIES$)?>
   <div class="total">Итого: $ORDER_AMOUNT$</div>
  <?if($ORDER_DISCOUNT$)?>
  <div class="disc"> Скидка: $ORDER_DISCOUNT$</div>
<?if($DISCOUNT_INFO$)?>
<hr>
<div class="disc-info">$DISCOUNT_INFO$</div>
<?endif?>
<?endif?>  <hr>
   <a class="basketclear" href="javascript://" rel="nofollow" onclick="return clearBasket();">Очистить</a> |
   <a class="basketorder" href="/shop/checkout">Оформить заказ</a>
<?else?>
   <div class="empty">Ваша корзина пуста</div>
<?endif?>

<style>
#shop-basket ul { margin:0; padding:0; text-align:left; list-style:none }
#shop-basket li { margin:0 0 5px 0; padding-left:35px }
#shop-basket .sb-name { margin-right:18px; }
#shop-basket .sb-cost { margin-right:18px; color: gray; }
#shop-basket .sb-func { float:right; cursor:pointer; width:16px; height:16px; margin:0;}
#shop-basket a.remove { background:url('/.s/img/sh/del.png') no-repeat 3px 0; }
#shop-basket a.remove:hover { background:url('/.s/img/sh/del.png') no-repeat 3px -16px; }
#shop-basket .empty { text-align:center; }
#shop-basket .total {font-weight: bold;}
#shop-basket .total, #shop-basket .disc { text-align:right; }
#shop-basket .disc-info { font-style: italic; }
</style>

<script language="Javascript"><!--
var lock_buttons = 0;

function clearBasket(){
  if(lock_buttons) return false; else lock_buttons = 1;
  var el = $('#shop-basket');
  if(el.length){ var g=document.createElement("div"); $(g).addClass('myWinGrid').attr("id",'shop-basket-fade').css({"left":"0","top":"0","position":"absolute","border":"#CCCCCC 1px solid","width":$(el).width()+'px',"height":$(el).height()+'px',"z-index":5}).hide().bind('mousedown',function(e){e.stopPropagation();e.preventDefault();_uWnd.globalmousedown();}).html('<div class="myWinLoad" style="margin:5px;"></div>'); $(el).append(g); $(g).show(); }
  _uPostForm('',{type:'POST',url:'/shop/basket',data:{'mode':'clear'}});
  return false;
}

function removeBasket(id){
  if(lock_buttons) return false; else lock_buttons = 1;
  $('#basket-item-'+id+' .sb-func').removeClass('remove').addClass('myWinLoadS').attr('title','');
  _uPostForm('',{type:'POST',url:'/shop/basket',data:{'mode':'del', 'id':id}});
  return false;
}

function add2Basket(id,pref){
  if(lock_buttons) return false; else lock_buttons = 1;
  var opt = new Array();
  $('#b'+pref+'-'+id+'-basket').attr('disabled','disabled');
  $('#'+pref+'-'+id+'-basket').removeClass('done').removeClass('err').removeClass('add').addClass('wait').attr('title','');
  $('#'+pref+'-'+id+'-options-selectors').find('input:checked, select').each(function(){ opt.push(this.id.split('-')[3]+(parseInt(this.value) ? '-'+this.value :''));});
  _uPostForm('',{type:'POST',url:'/shop/basket',data:{'mode':'add', 'id':id, 'pref':pref, 'opt':opt.join(':'), 'cnt':$('#q'+pref+'-'+id+'-basket').attr('value')}});
  return false;
}

function buyNow(id,pref){
  if(lock_buttons) return false; else lock_buttons = 1;
  var opt = new Array();
  $('#b'+pref+'-'+id+'-buynow').attr('disabled','disabled');
  $('#'+pref+'-'+id+'-buynow').removeClass('done').removeClass('err').removeClass('now').addClass('wait').attr('title','');
  $('#'+pref+'-'+id+'-options-selectors').find('input:checked, select').each(function(){ opt.push(this.id.split('-')[3]+(parseInt(this.value) ? '-'+this.value :''));});
  _uPostForm('',{type:'POST',url:'/shop/basket',data:{'mode':'add', 'id':id, 'pref':pref, 'opt':opt.join(':'), 'cnt':$('#q'+pref+'-'+id+'-basket').attr('value'), 'now':1}});
  return false;
}
//--></script>
HETPE3B
Сообщений: 1976
Репутация: 409

Сообщение # 8 | 09:12:39
Aleksey1488, вместо
Код
<div class="empty">Ваша корзина пуста</div>

поставьте
Код
<script>
$(document).ready(function () {
$("#shop-basket").hide();
});
</script>

Если у Вас корзина находится в боковой колонке, тогда дайте код шаблона боковой колонки, там где находится $BASKET$. Или просто дайте посмотреть на Ваш магазин с рабочей корзиной. А то, что Вы прислали мне в ЛС не отображает корзины (по крайней мере я ее не нашел)

uvl
Сообщений: 43
Репутация: 5

Сообщение # 9 | 09:59:03
HETPE3B, подскажите, хочу добавить корзину на свой сайт дополнительно в виде панели снизу или сверху (чтобы была фиксированная строка постоянно навиду у покупателя), но отображала только сумму товаров в корзине и кнопку Оформить заказ. Тег $BASKET$ использовать не получается, так как с ним выводится еще и значек корзины (сверху он мне нужен). Скриптами я так понимаю это можно сделать, но где взять их ? Спасибо.
Сообщение отредактировал uvl - Четверг, 03 Окт 2013, 10:36:40
HETPE3B
Сообщений: 1976
Репутация: 409

Сообщение # 10 | 10:29:39
uvl, дублирую, может кому-то еще пригодится

Тут нужно получить значение суммы и кнопку оформить заказ, а потом вывести их в нужном месте и настроить внешний вид. Попробуйте так:
Для начала надо задать идентификатор суммы заказа.

В шаблоне корзины вместо
Код
<div class="total">Итого: $ORDER_AMOUNT$</div>

Поставьте
Код
<div class="total">Итого: <span id="order-amount">$ORDER_AMOUNT$</span></div>

Ниже ставим скрипт
Код
<script>
$(document).ready(function () {
basketSum = $("#order-amount").html();
if (basketSum) {
$("#fixed-basket-sum").html(basketSum);
} else {
$("#fixed-basket-sum").html("0 руб.");
}
});
</script>

Теперь идем в шаблон глобального блока (шапки или подвала) и ставим там блок в который поместим сумму заказа:
Код
<div id="fixed-basket">
Сумма: <span id="fixed-basket-sum"></span> <a href="/shop/checkout">Оформить заказ</a>
</div>

Стили для этой корзины
Код
<style>
#fixed-basket {
position: fixed;
bottom: 0;
}
</style>

Далее настраиваете по своему вкусу внешний вид

Да, и не забудьте на странице оформления заказа скрыть все это дело условными операторами, фиксированная корзина там будет только мешать и отвлекать.

uvl
Сообщений: 43
Репутация: 5

Сообщение # 11 | 10:44:09
HETPE3B, спасбо большое, попробую реализовать.
А такая реализация не будет "мешать" основной корзине, в тегах написано что $BASKET$ должен использоваться только один раз на странице?
HETPE3B
Сообщений: 1976
Репутация: 409

Сообщение # 12 | 14:33:14
uvl, не будет мешать.
Цитата
можно ли как то количество товаров (или хотя бы позиций в корзине) сюда же считать, типа "В корзине 5 шт. на сумму....." ?

можно, аналогичным образом. помещаете $NUM_ENTRIES$ в span с id="#order-quantity"

Код

<script>  
$(document).ready(function () {  
basketSum = $("#order-amount").html();  
basketQuantity = $("#order-quantity").html();  
if (basketSum && basketQuantity) {  
$("#fixed-basket-sum").html(basketSum);  
$("#fixed-basket-quantity").html(basketQuantity);  
} else {  
$("#fixed-basket-sum").html("0 руб.");  
}  
});  
</script>


Код

<div id="fixed-basket">  
Кол-во: <span id="fixed-basket-quantity"></span> Сумма: <span id="fixed-basket-sum"></span> <a href="/shop/checkout">Оформить заказ</a>  
</div>

Сообщество uCoz » Модули uCoz » Интернет-магазин » Скрыть условным оператором
  • Страница 1 из 1
  • 1
Поиск: