Правильное Отображение Модификаций Внутри Карточки С Товаром
#21
Отправлено 21 Февраль 2013 - 13:18
В регионах при медленном интернете клиент может увидеть "нет в наличии" и закрыть окно до того момента когда страница окончательно загрузится и произойдет смена модификации.
Пример http://zabota-mama.r...-Спокойной-ночи
Нет ли другого решения?
Спасибо
#22
Отправлено 21 Февраль 2013 - 21:18
zabota-mama (21 Февраль 2013 - 13:18) писал:
В регионах при медленном интернете клиент может увидеть "нет в наличии" и закрыть окно до того момента когда страница окончательно загрузится и произойдет смена модификации.
Просто ситуация с медленным интернетом., во многих городах России и с этим не чего не поделать (ждать улучшения качества сигнала)..
Пользователь зайдя на другой сайт думаете у него в интернет магазине не будет проблем???
#23
Отправлено 24 Февраль 2013 - 17:24
При медленном интернете можно заметить как мелькает фраза "нет в наличии"
#24
Отправлено 25 Февраль 2013 - 10:43
zabota-mama (24 Февраль 2013 - 17:24) писал:
При медленном интернете можно заметить как мелькает фраза "нет в наличии"
#26
Отправлено 27 Декабрь 2014 - 09:23
setTimeout(function() { $('.goodsDataMainModificationsList').each(function() { var rest_value = parseInt($(this).find('[name="rest_value"]').val()); var id = $(this).attr('rel').split('_'); var block = $('.goodsDataMainModificationsBlock'); if(rest_value && !block.data('select')) { block.data('select', true); $('.goodsDataMainModificationsBlock select option').removeAttr('selected'); $('.goodsDataMainModificationsBlock select option[value="' + id[0] + '"]').attr('selected', 'selected'); $('.goodsDataMainModificationsBlock select option[value="' + id[1] + '"]').attr('selected', 'selected'); $('.goodsDataMainModificationsBlock select').trigger('change'); } }); }, 200);У меня сейчас модификации изменены пример товара
там в наличии только стиль 13
код не работает
#27
Отправлено 30 Декабрь 2014 - 04:04
zabota-mama (21 Февраль 2013 - 13:18) писал:
В регионах при медленном интернете клиент может увидеть "нет в наличии" и закрыть окно до того момента когда страница окончательно загрузится и произойдет смена модификации.
Пример http://zabota-mama.r...-Спокойной-ночи
Нет ли другого решения?
Спасибо
setTimeout(function() { $('.goodsDataMainModificationsList').each(function() { var rest_value = parseInt($(this).find('[name="rest_value"]').val()); var id = $(this).attr('rel').split('_'); var block = $('.goodsDataMainModificationsBlock'); if(rest_value && !block.data('select')) { block.data('select', true); $('.goodsDataMainModificationsBlock input').removeAttr('checked'); $('.goodsDataMainModificationsBlock input[value="' + id[0] + '"]').attr('checked', 'checked'); $('.goodsDataMainModificationsBlock input[value="' + id[1] + '"]').attr('checked', 'checked'); $('.goodsDataMainModificationsBlock input').trigger('change'); } }); }, 200);замените на:
setTimeout(function() { $('.goodsDataMainModificationsList').each(function() { var rest_value = parseInt($(this).find('[name="rest_value"]').val()); var id = $(this).attr('rel').split('_'); var block = $('.goodsDataMainModificationsBlock'); if(rest_value && !block.data('select')) { block.data('select', true); $('.goodsDataMainModificationsBlock input').removeAttr('checked'); $('.goodsDataMainModificationsBlock input[value="' + id[0] + '"]').attr('checked', 'checked'); $('.goodsDataMainModificationsBlock input[value="' + id[1] + '"]').attr('checked', 'checked'); $('.goodsDataMainModificationsBlock input').trigger('change'); } }); }, 100);
другого способа нет, необходимо чтобы сначала загрузилась вся информация и уже потом срабатывал скрипт
tanch (27 Декабрь 2014 - 09:23) писал:
setTimeout(function() { $('.goodsDataMainModificationsList').each(function() { var rest_value = parseInt($(this).find('[name="rest_value"]').val()); var id = $(this).attr('rel').split('_'); var block = $('.goodsDataMainModificationsBlock'); if(rest_value && !block.data('select')) { block.data('select', true); $('.goodsDataMainModificationsBlock select option').removeAttr('selected'); $('.goodsDataMainModificationsBlock select option[value="' + id[0] + '"]').attr('selected', 'selected'); $('.goodsDataMainModificationsBlock select option[value="' + id[1] + '"]').attr('selected', 'selected'); $('.goodsDataMainModificationsBlock select').trigger('change'); } }); }, 200);У меня сейчас модификации изменены пример товара
там в наличии только стиль 13
код не работает
в вашем случае необходимо использовать следующий код:
setTimeout(function () { $('.goodsDataMainModificationsList').each(function () { var rest_value = parseInt($(this).find('[name="rest_value"]').val()); var id = $(this).attr('rel').split('_'); var block = $('.goodsDataMainModificationsBlock'); if (rest_value && !block.hasClass('selected')) { block.addClass('selected'); $('[name^="form[properties]"]').removeProp('checked'); $('[name^="form[properties]"][value="' + id[0] + '"]').prop('checked', true); $('[name^="form[properties]"][value="' + id[1] + '"]').prop('checked', true); $('[name^="form[properties]"]:checked').trigger('click'); } }); }, 200);
#28
Отправлено 12 Март 2015 - 10:35
Vaccina (30 Декабрь 2014 - 04:04) писал:
1. Теперь карточка товара загружает модификацию, у которой наивысшая цена.
2. Перестала показываться "Старая цена" (или так должно быть? Если у одной из модификаций стоит старая цена, то в карточке она не должна высвечиваться? Или что бы условие срабатывалось, нужно поставить старые цены на все модификации?)
http://almaz-gold-gloss.sinocar.ru/
#29
Отправлено 25 Август 2017 - 23:13
Vaccina (26 Январь 2013 - 03:06) писал:
данный код необходимо вставить в файл main.js после строки
$(document).ready(function(){
Данный код будет искать первую доступную модификацию, и устанавливать её в качестве выбранной.
Подскажите, куда именно нужно вставить код, если их несколько $(document).ready(function(){ в редакторе.
Пример товара http://mirwarrior.ru...oksa-rdx-ctf-u4
#30
Отправлено 26 Август 2017 - 03:25
Можете вставить код в самый конец после:
$('#pers_confirm').change(function() { if ($('#pers_confirm').attr("checked")){ $('#submit_order').attr('disabled', false); } else { $('#submit_order').attr('disabled', true); } });
#31
Отправлено 26 Август 2017 - 15:50
Vaccina (26 Август 2017 - 03:25) писал:
Можете вставить код в самый конец после:
$('#pers_confirm').change(function() { if ($('#pers_confirm').attr("checked")){ $('#submit_order').attr('disabled', false); } else { $('#submit_order').attr('disabled', true); } });
По большинству товаров начало работать, но по некоторым нет - пример http://mirwarrior.ru...oksa-rdx-ctf-u4
#32
Отправлено 30 Август 2017 - 10:25
kirussian (26 Август 2017 - 15:50) писал:
По данной ссылке товар не открывается
#33
Отправлено 30 Август 2017 - 11:00
MikDark (30 Август 2017 - 10:25) писал:
Сорри. Вот другой пример http://mirwarrior.ru...-kostym-rdx-cts
http://mirwarrior.ru...rchatki-RDX-BMR
#34
Отправлено 01 Сентябрь 2017 - 08:58
Ссылки из последнего сообщения не работают. Укажите пожалуйста ссылку на товар, где товара изначально нет в наличии при первой загрузке страницы(проверить работу скрипта на ней).
#35
Отправлено 01 Сентябрь 2017 - 10:33
Vaccina (01 Сентябрь 2017 - 08:58) писал:
Ссылки из последнего сообщения не работают. Укажите пожалуйста ссылку на товар, где товара изначально нет в наличии при первой загрузке страницы(проверить работу скрипта на ней).
Странно, давайте вот эту ссылку проверим - http://mirwarrior.ru...rdx-ctu<br /> или вот эту http://mirwarrior.ru...oksa-rdx-ctf-u4
#36
Отправлено 01 Сентябрь 2017 - 14:40
kirussian (01 Сентябрь 2017 - 10:33) писал:
Что бы смена модификации работала корректно, найдите в файле main.js
setTimeout(function() { $('.goodsDataMainModificationsList').each(function() { var rest_value = parseInt($(this).find('[name="rest_value"]').val()); var id = $(this).attr('rel').split('_'); var block = $('.goodsDataMainModificationsBlock'); if(rest_value && !block.data('select')) { block.data('select', true); console.log(block); $('.goodsDataMainModificationsBlock select option').removeAttr('selected'); $('.goodsDataMainModificationsBlock select option[value="' + id[0] + '"]').attr('selected', 'selected'); $('.goodsDataMainModificationsBlock select option[value="' + id[1] + '"]').attr('selected', 'selected'); $('.goodsDataMainModificationsBlock select').trigger('change'); } }); }, 200);
и удалите, далее найдите в шаблоне Товар код
<!-- Краткое описание --> <div class="short-description f-fix"> <p itemprop="description">{GOODS_DESCRIPTION_SHORT}</p> </div>
после вставьте
{% IF GOODS_MOD_REST_VALUE=0 %} <script> setTimeout(function() { $('.goodsDataMainModificationsList').each(function() { var rest_value = parseInt($(this).find('[name="rest_value"]').val()); var id = $(this).attr('rel').split('_'); var block = $('.goodsDataMainModificationsBlock'); if(rest_value > 0) { block.data('select', true); console.log(block); $('.goodsDataMainModificationsBlock select option').removeAttr('selected'); $('.goodsDataMainModificationsBlock select option[value="' + id[0] + '"]').attr('selected', 'selected'); $('.goodsDataMainModificationsBlock select option[value="' + id[1] + '"]').attr('selected', 'selected'); $('.goodsDataMainModificationsBlock select').trigger('change'); } }); }, 200); </script> {% ENDIF %}
#37
Отправлено 04 Сентябрь 2017 - 08:37
Ирина345 (01 Сентябрь 2017 - 14:40) писал:
Что бы смена модификации работала корректно, найдите в файле main.js
setTimeout(function() { $('.goodsDataMainModificationsList').each(function() { var rest_value = parseInt($(this).find('[name="rest_value"]').val()); var id = $(this).attr('rel').split('_'); var block = $('.goodsDataMainModificationsBlock'); if(rest_value && !block.data('select')) { block.data('select', true); console.log(block); $('.goodsDataMainModificationsBlock select option').removeAttr('selected'); $('.goodsDataMainModificationsBlock select option[value="' + id[0] + '"]').attr('selected', 'selected'); $('.goodsDataMainModificationsBlock select option[value="' + id[1] + '"]').attr('selected', 'selected'); $('.goodsDataMainModificationsBlock select').trigger('change'); } }); }, 200);
и удалите, далее найдите в шаблоне Товар код
<!-- Краткое описание --> <div class="short-description f-fix"> <p itemprop="description">{GOODS_DESCRIPTION_SHORT}</p> </div>
после вставьте
{% IF GOODS_MOD_REST_VALUE=0 %} <script> setTimeout(function() { $('.goodsDataMainModificationsList').each(function() { var rest_value = parseInt($(this).find('[name="rest_value"]').val()); var id = $(this).attr('rel').split('_'); var block = $('.goodsDataMainModificationsBlock'); if(rest_value > 0) { block.data('select', true); console.log(block); $('.goodsDataMainModificationsBlock select option').removeAttr('selected'); $('.goodsDataMainModificationsBlock select option[value="' + id[0] + '"]').attr('selected', 'selected'); $('.goodsDataMainModificationsBlock select option[value="' + id[1] + '"]').attr('selected', 'selected'); $('.goodsDataMainModificationsBlock select').trigger('change'); } }); }, 200); </script> {% ENDIF %}
Вроде все ок, спасибо.
#38
Отправлено 15 Ноябрь 2017 - 22:47
Здравствуйте ! Помогите и мне с этим пожалуйста ! Вставил код и не работает -шаблон лето . Заранее спасибо !
Здравствуйте ! Помогите и мне с этим пожалуйста ! Вставил код и не работает -шаблон лето . Заранее спасибо !
Здравствуйте ! Помогите и мне с этим пожалуйста ! Вставил код и не работает -шаблон лето . Заранее спасибо !
#39
Отправлено 15 Ноябрь 2017 - 23:00
#40
Отправлено 20 Ноябрь 2017 - 14:08
spectredes (15 Ноябрь 2017 - 23:00) писал:
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных