Модератор форума: Yuri_G  
Сообщество uCoz » Модули uCoz » Интернет-магазин » Опции товаров
Опции товаров
Модератор форума
Сообщение # 1 | 01:15:40
С последним обновлением в интернет-магазине появилась очень полезная и нужная функция - опции товаров.
С их помощью можно задать для товара цвет, размер,и т.д. добавить в заказ сопутствующие товары с наценками или без.
Опции могут быть 3-х видов:

1. Выпадающий список опций, которые влияют на цену.
2. Выпадающий список опций, которые не влияют на цену.
3. Чекбокс, который влияет на цену
4. Чекбокс, который не влияет на цену

Для того чтобы добавлять опции к товарам их нужно сначала создать в админке. Для этого зайдите в раздел "Опции товаров", который появился на главной странице:



И нажмите "Добавить опцию":



В Название впишите название. в Категории выберите, для каких категорий сделать доступной эту опцию в Варианты значений с каждой новой строчки впишите значения для списка. Если вы оставите поле Варианты значений пустым, то ваша опция будет чекбоксом (полем для галочки).

Порядком отображения опций на можно управлять, перемещая их синими стрелочками:



При добавлении/редактировании товара Опции выводятся в самом низу:



1 - список всех активных для категории опций. Те, которые отмечены галочками будут выводиться для данного товара
2 - список вариантов значений опции. Выводятся только отмеченные галочками
3 - наценка при выборе данной опции. Если стоит 0.00 то наценки не будет.

Действия которые необходимо произвести над шаблонами существующих магазинов, для полноценного функционирования опций товара:

Цитата
Корзина => Восстановить стандартный или скопировать в свой шаблон обновлённые JS-функции add2Basket() и buyNow()

Страница товара, Вид товара в каталоге, Вид товара в прайс-листе, Вид товара в печатной форме заказа => Восстановить стандартный или посмотреть как там используется код $OPTIONS$ и внедрить с cобственный шаблон

Вид товара в корзине => Восстановить стандартный или посмотреть как там используется код $OPTIONS$ и внедрить с cобственный шаблон. Так же обратить внимание, что в следствии утраты уникальности ID товара в корзине (один и тот же товар, но с разным набором выбранных опций можен несколько раз присуствовать в корзине) в данном шаблоне код $ID$ теперь принимает значения "товарной позиции в заказе", а ID товара можно получить отніне через код $GID$. Цена товара $PRICE$ включает в себя так же суммарную наценку от всех выбранных опций. Отдельно сумарную наценку можна получить через код $OVER$

Таблица стилей CSS => Восстановить стандартный или посмотреть новые селекторы .shop-options и внедрить с cобственные стили

Страница заказа => Восстановить стандартный или посмотреть как там используется код < ?$DIGITAL_GOODS$()? > и внедрить с cобственный шаблон.

Страница служебных форм => Восстановить стандартный или посмотреть как там используется код $PAGE_SELECTOR$ для страницы прайс-листа и внедрить с cобственный шаблон.

* для вновь активированных магазинов данных действий производить не нужно

Напоминание по отображению пункта "Выбрать" в опциях товаров:
Wm-Mariupol
Сообщений: 29
Репутация: 2

Сообщение # 541 | 12:59:05
Цитата АСГАРД ()
А что мешает сделать именно например в настройках модуля что то типа "значение первой опции "выбирать" или первая опция по умолчанию"
Поддерживаю.

Цитата amrita ()
Сейчас появилось слово выбрать. Будет ли добавлена возможность чтобы какая то из опций была задана как выбранная администратором сайта, но пользователь мог изменить её (вместо слова выбрать)? Таким образом и будет явное указание опции, но со стороны администратора.
Однозначно необходимо добавить данное нововведение.
indesit
Сообщений: 30
Репутация: 0

Сообщение # 542 | 13:04:28
Negor, как бы то ни было, но это нововведение уменьшило интуитивность выбора опций. За вчерашнюю половтну дня получили кучу звонков с вопросами о наличии того или иного размера, чего раньше не было. То есть у людей слово "Выбрать" в основном вызывает недоумение. Пожалуйста реализуйте возможность админа сайта менять способ выбора опций
Negor
Сообщений: 172
Репутация: 78

Сообщение # 543 | 13:05:15
Повторюсь ещё раз - если оставить выбор опции по умолчанию, будет некорректно работать фильтр по ценам. Потому по опциям останется как есть сейчас. В этом нет ничего страшного. У кого не получается использовать вторую опцию при добавлении товара в корзину - в шаблоне корзины замените функции add2Basket и buyNow на эти
Код

function add2Basket(id,pref){
  if(lock_buttons) return false; else lock_buttons = 1;
  var opt = new Array();
  var err_msg = '';
  $('#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]+(this.value !== '' ? '-'+this.value :''));

   if(this.value !== ''){
    opt.push(this.id.split('-')[3]+(this.value !== '' ? '-'+this.value :''));
   }else{
    err_msg += '<li>'+$(this).parent().parent().find('span.opt').html().replace(':', '')+'</li>';
   }
  });

  if(err_msg == ''){
   _uPostForm('',{type:'POST',url:'/shop/basket',data:{'mode':'add', 'id':id, 'pref':pref, 'opt':opt.join(':'), 'cnt':$('#q'+pref+'-'+id+'-basket').attr('value')}});
   ga_event('basket_add');
  }else{
   lock_buttons = 0;
   shop_alert('<div class="MyWinError">Опции<ul>'+err_msg+'</ul>обязательны для выбора</div>','Замечания','warning',350,100,{tm:8000,align:'left',icon:'http://s64.ucoz.net/img/icon/warning.png', 'onclose': function(){  $('#b'+pref+'-'+id+'-basket').removeAttr('disabled'); $('#'+pref+'-'+id+'-basket').removeClass('wait').addClass('add');  }});
  }
  return false;
}

function buyNow(id,pref){
  if(lock_buttons) return false; else lock_buttons = 1;
  var opt = new Array();
  var err_msg = '';
  $('#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(){
   if(this.value !== ''){
    opt.push(this.id.split('-')[3]+'-'+this.value);
   }else{
    err_msg += '<li>'+$(this).parent().parent().find('span.opt').html().replace(':', '')+'</li>';
   }
  });
  if(err_msg == ''){
   _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}});
   ga_event('basket_buynow');
  }else{
   lock_buttons = 0;
   shop_alert('<div class="MyWinError">Опции<ul>'+err_msg+'</ul>обязательны для выбора</div>','Замечания','warning',350,100,{tm:8000,align:'left',icon:'http://s64.ucoz.net/img/icon/warning.png', 'onclose': function(){ $('#b'+pref+'-'+id+'-buynow').removeAttr('disabled'); $('#'+pref+'-'+id+'-buynow').removeClass('wait').addClass('add');  }});
  }

  return false;
}



При возникновении трудностей всегда указывайте адрес своего сайта и подробное описание проблемы! Не пренебрегайте обращением в техподдрежку сервиса
Wm-Mariupol
Сообщений: 29
Репутация: 2

Сообщение # 544 | 13:12:56
Цитата indesit ()
Negor, как бы то ни было, но это нововведение уменьшило интуитивность выбора опций. За вчерашнюю половтну дня получили кучу звонков с вопросами о наличии того или иного размера, чего раньше не было. То есть у людей слово "Выбрать" в основном вызывает недоумение. Пожалуйста реализуйте возможность админа сайта менять способ выбора опций
Количество звонков и вопросов в тех. поддержку не так страшно как значительное уменьшение продаж. У нас товары стоят малую стоимость и их покупают очень быстро. Мы очень сильно уже ощутили уменьшение заказов в магазине с этим "супер нововведением".

Цитата Negor ()
Повторюсь ещё раз - если оставить выбор опции по умолчанию, будет некорректно работать фильтр по ценам. Потому по опциям останется как есть сейчас. В этом нет ничего страшного. У кого не получается использовать вторую опцию при добавлении товара в корзину - в шаблоне корзины замените функции add2Basket и buyNow на эти
Лучше уже иметь погрешность с фильтром по ценам чем уменьшение продаж и прибыль. Смысл от сайта если сам сайт (движок) уменьшает прибыль из за невозможности поставить настройки так, что бы товар продавался больше и чаще.
Snake77
Сообщений: 195
Репутация: 6

Сообщение # 545 | 13:18:05
Цитата Модератор форума ()
Действия которые необходимо произвести над шаблонами существующих магазинов, для полноценного функционирования опций товара:
А почему здесь нельзя было конкретно указать коды, которые надо заменять. У меня купленный шаблон и чтобы узнать стандартные коды мне надо сделать пустой сайт и оплатить модуль интернет-магазина, только ради того, чтобы исправить коды у себя. Это несерьезно.
Пожалуйста пропишите в шапке на какие конкретно коды и что надо менять.
Wm-Mariupol
Сообщений: 29
Репутация: 2

Сообщение # 546 | 13:20:04
Цитата Snake77 ()
Пожалуйста пропишите в шапке на какие конкретно коды и что надо менять.
Вы можете полностью все функции в корзине заменить на новую (от функций/опции сам шаблон не меняется никак).

Код
<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'}};);
   ga_event('basket_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();
   var err_msg = '';
   $('#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]+(this.value !== '' ? '-'+this.value :''));

   if(this.value !== ''){
   opt.push(this.id.split('-')[3]+(this.value !== '' ? '-'+this.value :''));
   }else{
   err_msg += '<li>'+$(this).parent().parent().find('span.opt').html().replace(':', '')+'</li>';
   }
   };);

   if(err_msg == ''){
   _uPostForm('',{type:'POST',url:'/shop/basket',data:{'mode':'add', 'id':id, 'pref':pref, 'opt':opt.join(':'), 'cnt':$('#q'+pref+'-'+id+'-basket').attr('value')}};);
   ga_event('basket_add');
   }else{
   lock_buttons = 0;
   shop_alert('<div class="MyWinError">Опции<ul>'+err_msg+'</ul>обязательны для выбора</div>','Замечания','warning',350,100,{tm:8000,align:'left',icon:'http://s91.ucoz.net/img/icon/warning.png', 'onclose': function(){ $('#b'+pref+'-'+id+'-basket').removeAttr('disabled'); $('#'+pref+'-'+id+'-basket').removeClass('wait').addClass('add'); }};);
   }
   return false;
   }

   function buyNow(id,pref){
   if(lock_buttons) return false; else lock_buttons = 1;
   var opt = new Array();
   var err_msg = '';
   $('#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(){
   if(this.value !== ''){
   opt.push(this.id.split('-')[3]+'-'+this.value);
   }else{
   err_msg += '<li>'+$(this).parent().parent().find('span.opt').html().replace(':', '')+'</li>';
   }
   };);
   if(err_msg == ''){
   _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}};);
   ga_event('basket_buynow');
   }else{
   lock_buttons = 0;
   shop_alert('<div class="MyWinError">Опции<ul>'+err_msg+'</ul>обязательны для выбора</div>','Замечания','warning',350,100,{tm:8000,align:'left',icon:'http://s91.ucoz.net/img/icon/warning.png', 'onclose': function(){ $('#b'+pref+'-'+id+'-buynow').removeAttr('disabled'); $('#'+pref+'-'+id+'-buynow').removeClass('wait').addClass('add'); }};);
   }

   return false;
   }
   //--></script>
Сообщение отредактировал Wm-Mariupol - Пятница, 11 Июл 2014, 13:20:34
amrita
Сообщений: 569
Репутация: 99

Сообщение # 547 | 13:20:31
Цитата Negor ()
Повторюсь ещё раз - если оставить выбор опции по умолчанию, будет некорректно работать фильтр по ценам.
Мы это понимаем, но если не оставить по умолчанию, то люди в возрасте за 50 (основные клиенты моего сайта) не закажут товаров в которых есть опции так как для них существует только кнопка добавить в корзину (об опциях они в основном и не думают, 90% заказов было с опцией которая по умолчанию). Замкнутый круг получается... Разве что сделать кнопку корзины не активной до того как они не выберут опцию, а то при нажатии на кнопку корзины у меня появляется лайтбокс фразой что товар добавлен (люди думают что он действительно добавился), но потом над ним выскакивает аякс окно выберите опцию - от здесь уже у людей голова пухнет (добавился товар или нет)

Сделайте шаг навстречу здоровью amrita.club
Сообщение отредактировал amrita - Пятница, 11 Июл 2014, 13:24:25
Snake77
Сообщений: 195
Репутация: 6

Сообщение # 548 | 13:22:16
Цитата Wm-Mariupol ()
Вы можете полностью всю опцию заменить на новую
Эту я уже заменила, а как же на счет отображения в каталоге, изменения в CSS и т.д.
Wm-Mariupol
Сообщений: 29
Репутация: 2

Сообщение # 549 | 13:23:33
Цитата amrita ()
90% заказов было с опцией которая по умолчанию
Тоже самое. Не 90%, а где то 80% (это даже в статистике отмечено) идёт с опциями по умолчанию. А замена на "Выбор" уже в первый день влияет негативно на продажи. Магазин же это не блог. Туда зайдут 1 раз в первый раз купят и выйдут. А так зайдут не поймут и выйдут.

Продажи сведутся на нет. И сортировка по ценам такая бредятина по сравнению с тем что доходы упадут в разы.
Snake77
Сообщений: 195
Репутация: 6

Сообщение # 550 | 13:23:38
Было бы неплохо, чтобы при отображении в каталоке была на данных товарах не кнопка "в корзину" а что-то типа "Выбрать" с переходом на страницу товара. Ато так прочерк и все...
Wm-Mariupol
Сообщений: 29
Репутация: 2

Сообщение # 551 | 13:35:25
Цитата Snake77 ()
"в корзину" а что-то типа "Выбрать"
Это дизайнерская прихоть уже. Вставьте картинку с переходом на страницу товара. Это всё делается прописыванием 1 маленькой строчкой (элементарно).

Цитата Negor ()
останется как есть сейчас
Я думаю всё же прислушаетесь к мнению многих кто обратился. На ucoz VIP у многих такие же проблемы. Когда платишь за хостинг интернет магазина более 250$ / ежемесячно не хочется что бы по тех. работам движка количество продаж падало.
Snake77
Сообщений: 195
Репутация: 6

Сообщение # 552 | 13:36:37
У меня вот такой код "Вид товара в каталоге" согласно купленному шаблону:

Код
<div class="item-buy"><?if $STOCK$>'0'?><a id="$BLOCK_PREF$-$ID$-basket" class="basket-lnk add" onclick="add2Basket('$ID$','$BLOCK_PREF$');" title="В корзину">В корзину</a><?endif?><?if $STOCK$='0'?><a id="$BLOCK_PREF$-$ID$-basket" title="Нет в наличии">Нет в наличии</a><?endif?></div>


И если указать измененный стандартный код

Код
<ul class="shop-options" id="id-$ID$-options">
<li><span class="opt">Артикул:</span> <span class="val art">$ART_NO$</span></li><li><span class="opt">Наличие:</span> <span class="val stock">$STOCK$</span></li>
$OPTIONS$
</ul>
получается полный бред. Значит невозможно полностью применить измененные стандартные коды. И что же делать?
АСГАРД
Сообщений: 78
Репутация: 5

Сообщение # 553 | 13:37:15
В таком случае сделайте возможным манипулировать словом "выбрать" например иметь возможно изменять само слово на нужное администратору сайта, также как вариант манипулировать им с помощью условных операторов, и ставить вместо это слова конкретное значение опции.
Вопрос в том для кого все это делается, для ваших клиентов или как, во первых претезии людей правомерны поскольку речь идет о модуле ИМ который является платным, и в таком случае человек должен иметь возможность делать что ему хочется (вот по поводу бесплатных модулей тут бы не возникло вопросов) а так уж слишком у Вас уважаемые разработчики не красиво получается, получается клиент вам платит деньги вы что то делаете что не устраивает а в ответ типа ребята "отвалите" будет так как мы захотели и не дадим вам возможность ничего менять"
Snake77
Сообщений: 195
Репутация: 6

Сообщение # 554 | 13:38:05
Цитата Wm-Mariupol ()
Это дизайнерская прихоть уже. Вставьте картинку с переходом на страницу товара. Это всё делается прописыванием 1 маленькой строчкой (элементарно).
Я не программист и для меня это не элементарно. И я как и Вы теряю заказы.
Wm-Mariupol
Сообщений: 29
Репутация: 2

Сообщение # 555 | 13:51:25
Цитата Snake77 ()
Я не программист и для меня это не элементарно. И я как и Вы теряю заказы.
Тогда будем ждать каких то решений и действий с функцией опций. Что бы было как раньше или даже лучше. Как сейчас но с простой возможность поставить опцию по умолчанию (на выбор). А там пусть каждый выбирает что ему нужно.
Сообщество uCoz » Модули uCoz » Интернет-магазин » Опции товаров
Поиск: