Вернуться к списку форумов Вернуться

Поддержка пользователей

Community support

Настройка дополнений к цене товара

Это мой дом
Здравствуйте,
Подскажите решение правильной реализации корректировки цены товара, например:
Цена товара 100р.
Выберите: цвет 1 +5р, цвет 2 +15р, цвет 3 +29р, цвет 4 +60р, цвет 5 +100%р,
Подсветка: нет +0р, да +30р.
Вроде просто совершенно, но чет не получается настроить, чтоб нормально работало.

Если делаем просто в описании товара, не работает с %.
[option]
Цвет
#5
#15
#29
#60
#100% - не работает
[/option]
[radio]
Подсветка
#Да30
#Нет
[/radio]

Если вариант с custom_options.inc, то несколько параметров вместе корректно не работают, сбрасывают +30.
Пробовал цвет сделать [option], а подсветку через custom_options.inc, так же сбрасывает цену, т.е. например выбираем с подсветкой (+30 добавилось к цене), после клацаем варианты цвета и +30 в цене нет)

Конечно самый удобный вариант это option и radio в описании товара, но как сделать, чтоб работало с %?

Спасибо.
Это мой дом
Проверю проценты. Может отвалились.
Это мой дом
насчет option1 option2 - да не суммируется. это устаревший опционный режим.
Проценты были мною отключены пару лет назад.
но не беда. сделаю в ближайшее время. может даже сегодня.
Это мой дом
Это мой дом
Скажите пожалуйста в каком файле подправить опции т.е. нужно чтоб было выбрано хоть что-то по дефолту, сейчас при открытии или рефреше страницы ничего не отмечено.
[option]
Available sizes
#XS0
#S0
#M-0
#L0
#XL5
#XXL10
[/option]

Получаем ничего не выбрано по дефолту так как почему то есть строка: <*option value=""><*/option>
<select name="ao[0]" id="id_0" onchange="javas c r i p t:ao_0()">
<option value=""></option>
<option value="Размер: XS0">XS</option>
<option value="Размер: S0">S</option>
<option value="Размер: M0">M</option>
<option value="Размер: L0">L</option>
<option value="Размер: XL0">XL</option>
</select>

Ковыряю options.php и не пойму куда смотреть) каким образом ремовнуть эту строку из options? чтоб в карточке товара отображалось:
<select name="ao[0]" id="id_0" onchange="javas c r i p t:ao_0()">
<option value="Размер: XS0">XS</option>
<option value="Размер: S0">S</option>
<option value="Размер: M0">M</option>
<option value="Размер: L0">L</option>
<option value="Размер: XL0">XL</option>
</select>


Спасибо

П.С. Смотрю отображается на форуме, т.е. вставка кода срабатывает)
Это мой дом
только у админа вставка HTML кода работает
для отображения кода HTML выделите HTML код и нажмите кнопочку внизу

Можно убрать первую пустую опцию но она все равно не будет selected
можно сделать selected для первой опции, но при этом пересчет не сработает
и к тому же менять надо во всех модулях - поиске, карточке и т.д.
Не вижу смысла трогать рабочую вещь
Это мой дом
Каким образом проще всего сделать selected для первой опции скажите пожалуйста? пересчет в данном случае не нужен, спасибо.
Это мой дом
придумаю настройку как обычно. поставил в план
Это мой дом
Конечно это не решение вопроса, но временно вот так скриптом рандомный выбор, недостаток в том что рандомно он иногда и пустышку выбирает) в джаваскриптах не силен, может подскажите что в нем подправить с рандом на определенную позицию, но без указания value названия, так как сказать всегда открывать по дефолту <*option value="Размер: XS0">XS нельзя, его в какой то позиции может не быть, т.е. например как сказать 3й value без названия?

$(document).ready(function() {
var index = Math.floor(Math.random() * $(".customdiv option").length) + 1;
$("select option:nth-child(" + index + ")").prop("selected", true);
});
Это мой дом
Все просто оказывается, вот такой скриптик, число строка option value, т.е. ставим к примеру 3 и серединка)
$("customdiv > option").attr('selected',false).eq(3).attr('selected',true);
Это мой дом
странно тут работает jsfiddle.net
Это мой дом
при чем тут customdiv? это пример.
вы делаете это в карточке товара? а в списке товара и поиске будут пустые выборы?
к тому же если делать выбор JS скриптом, нужно отработать и скрипт onchange
также поясните, а если option -ов у товара несколько что делать?
Это мой дом
если делать в карточке товара и option только 1 и выбрать надо 2-й пункт (первый - это пусто) то сработать должен код
<script>$(document).ready(function() {var id = document.getElementById('id_0');if (id) {var x = document.getElementById('id_0').children[1];x.setAttribute('selected', 'selected');ao_0(); }});</script>

апдейт Скрипт поменял на рабочий
Это мой дом
где children[1] указывает номер option , 1- это первая не пустая опция
а id_0 - это id первого select
если селектов 2 и более - то надо соответственно продублировать
ao_0() - это js ответственный за пересчет данного первого селекта (от 0 счет)
т.е. будет даже нормальный пересчет!
этот код можно вставить в ADM - шаблоны - шаблоны оформления - menu.inc поместить
Это мой дом
Нужно еще ведь в каталоге отображение, пришлось ставить второй для aoid_0_0, потому как правильно оформить в одном скрипте под два айди не выходит) Кстати для radio как его поправить? потому как использую такой, наверно это не совсем правильно, но работает ставит дефолтно, правда не знаю на счет подсчетов, так как не использую на этом сайте.
< s c r i p t>
$(window).load(function(){
$("#ao_0_3").attr('checked','checked');
});
<*/s c r i p t>
Это мой дом
морочится не надо сказал же сделаю настройку

Добавить ответ:

                  
Ответьте на вопрос: CKoлbKo бyдeT чeTыpe yMHoжuTb Ha чeTыpe?