Перейти к содержимому


Старт Отображения Цены Товара С Той Модификации, Которая Имеет Остаток


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 11

#1 koloskov

koloskov

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 376 сообщений

Отправлено 25 Май 2013 - 12:17

Добрый день.

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

Прикрепленные изображения

  • 12.JPG


#2 miyako

miyako

    Активный участник

  • Модератоpы
  • 5 372 сообщений

Отправлено 25 Май 2013 - 17:59

Просмотр сообщенияkoloskov (25 Май 2013 - 12:17) писал:

Добрый день.

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

Вам ответили здесь - http://forum.storela...чии/#entry66930

#3 koloskov

koloskov

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 376 сообщений

Отправлено 25 Май 2013 - 18:34

Просмотр сообщенияmiyako (25 Май 2013 - 17:59) писал:

Вам ответили здесь - http://forum.storela...чии/#entry66930

А какими переменными в сиянии заменять, представленные в пластике:
.ModificationsList
.goodsDataMainModificationsBlock
.goodsDataMainModificationsBlockProperty

#4 miyako

miyako

    Активный участник

  • Модератоpы
  • 5 372 сообщений

Отправлено 25 Май 2013 - 18:48

Просмотр сообщенияkoloskov (25 Май 2013 - 18:34) писал:

А какими переменными в сиянии заменять, представленные в пластике:
.ModificationsList
.goodsDataMainModificationsBlock
.goodsDataMainModificationsBlockProperty

для Сияния подходит код такой:
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);
как и сказано в инструкции

#5 koloskov

koloskov

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 376 сообщений

Отправлено 25 Май 2013 - 19:12

Просмотр сообщенияmiyako (25 Май 2013 - 18:48) писал:

для Сияния подходит код такой:
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);
как и сказано в инструкции

что-то не получается вставляя после кнопки, которая работает:

// Я делаю кнопку НАВЕРХ прокрутки
$(document).ready(function(){
    $("#back-top").hide();
    $(function () {
        $(window).scroll(function () {
            if ($(this).scrollTop() > 50) {
                $('#back-top').fadeIn();
            } else {
                $('#back-top').fadeOut();
            }
        });
        $('#back-top a').click(function () {
            $('body,html').animate({
                scrollTop: 0
            }, 800);
            return false;
        });
    });
});

// Я делаю Показ Модификаций Которые Есть В Наличии
setTimeout(function() {
$('.goodsDataMainModificationsList').each(function() {
    var rest_value = parseInt($(this).find(' ').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 + '"]').attr('selected', 'selected');
    $('.goodsDataMainModificationsBlock select option ').attr('selected', 'selected');
    $('.goodsDataMainModificationsBlock select').trigger('change');
    }
  });
}, 200);

Прикрепленные изображения

  • 14.JPG


#6 Yurren

Yurren

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 1 415 сообщений
  • ГородСамара

Отправлено 25 Май 2013 - 19:20

Просмотр сообщенияmiyako (25 Май 2013 - 18:48) писал:

для Сияния подходит код такой:
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);
как и сказано в инструкции
Не работает! Пример http://kolgotki63.ru...-Kleo?from=YzY3 (размер 36, цвет белый - нет в наличии, является первой модимикацией и показывается!)

Просмотр сообщенияkoloskov (25 Май 2013 - 19:12) писал:

что-то не получается вставляя после кнопки, которая работает:
Надо ставить после строчки: $(document).ready(function(){
http://forum.storela...чии/#entry66930
Хотя все равно не работает ! :(

#7 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 28 Май 2013 - 03:23

Цитата

Хотя все равно не работает !

Очистите кэш в вашем браузере, так как код у вас на сайте работает.

#8 koloskov

koloskov

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 376 сообщений

Отправлено 28 Май 2013 - 12:12

Просмотр сообщенияСake (28 Май 2013 - 03:23) писал:


Вставляю сюда:

$(document).ready(function(){
  setTimeout(function() {
  $('.goodsDataMainModificationsList').each(function() {
var rest_value = parseInt($(this).find(' ').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 + '"]').attr('selected', 'selected');
$('.goodsDataMainModificationsBlock select option ').attr('selected', 'selected');
$('.goodsDataMainModificationsBlock select').trigger('change');
}
});
  }, 200);  

  
// Я делаю кнопку НАВЕРХ прокрутки
$("#back-top").hide();
$(function () {
$(window).scroll(function () {
if ($(this).scrollTop() > 50) {
$('#back-top').fadeIn();
} else {
$('#back-top').fadeOut();
}
});
$('#back-top a').click(function () {
$('body,html').animate({
scrollTop: 0
}, 800);
return false;
});
});
});

и не просто не работает, а еще при всех модификациях отображается, что товара нет в наличии

#9 miyako

miyako

    Активный участник

  • Модератоpы
  • 5 372 сообщений

Отправлено 28 Май 2013 - 12:22

Просмотр сообщенияkoloskov (28 Май 2013 - 12:12) писал:

Вставляю сюда:

$(document).ready(function(){
  setTimeout(function() {
  $('.goodsDataMainModificationsList').each(function() {
var rest_value = parseInt($(this).find(' ').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 + '"]').attr('selected', 'selected');
$('.goodsDataMainModificationsBlock select option ').attr('selected', 'selected');
$('.goodsDataMainModificationsBlock select').trigger('change');
}
});
  }, 200);  

  
// Я делаю кнопку НАВЕРХ прокрутки
$("#back-top").hide();
$(function () {
$(window).scroll(function () {
if ($(this).scrollTop() > 50) {
$('#back-top').fadeIn();
} else {
$('#back-top').fadeOut();
}
});
$('#back-top a').click(function () {
$('body,html').animate({
scrollTop: 0
}, 800);
return false;
});
});
});

и не просто не работает, а еще при всех модификациях отображается, что товара нет в наличии

Не совсем понятно что вы пытаетесь установить / изменить? И какой инструкцией пользуетесь?

#10 koloskov

koloskov

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 376 сообщений

Отправлено 28 Май 2013 - 13:11

Просмотр сообщенияmiyako (28 Май 2013 - 12:22) писал:

Не совсем понятно что вы пытаетесь установить / изменить? И какой инструкцией пользуетесь?

Тема начиналась

Просмотр сообщенияkoloskov (25 Май 2013 - 12:17) писал:

Добрый день.

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

Затем я понял, что уже есть такой скрипт для сияния:
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);
затем пытаюсь его вставить в самый конец  main.js
так как там у меня уже стоит кнопка возврата наверх, то мне становится не понятным куда этот код установить и нужно ли ему в начало ставить $(document).ready(function(){ , если перед кнопкой этот код уже есть...

#11 miyako

miyako

    Активный участник

  • Модератоpы
  • 5 372 сообщений

Отправлено 28 Май 2013 - 13:32

Просмотр сообщенияkoloskov (28 Май 2013 - 13:11) писал:

Тема начиналась



Затем я понял, что уже есть такой скрипт для сияния:
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);
затем пытаюсь его вставить в самый конец  main.js
так как там у меня уже стоит кнопка возврата наверх, то мне становится не понятным куда этот код установить и нужно ли ему в начало ставить $(document).ready(function(){ , если перед кнопкой этот код уже есть...

Найдите код в main.js:
$(document).ready(function(){
  // Валидация формы на странице оформления заказа, а так же формы на страницы связи с администрацией
  $('.order form, .feedbackForm, .clientForm, .goodsDataOpinionAddForm').submit(function(){
и замените на:
$(document).ready(function(){
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);
  // Валидация формы на странице оформления заказа, а так же формы на страницы связи с администрацией
  $('.order form, .feedbackForm, .clientForm, .goodsDataOpinionAddForm').submit(function(){


#12 koloskov

koloskov

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 376 сообщений

Отправлено 28 Май 2013 - 14:00

Просмотр сообщенияmiyako (28 Май 2013 - 13:32) писал:

Найдите код в main.js:
$(document).ready(function(){
// Валидация формы на странице оформления заказа, а так же формы на страницы связи с администрацией
$('.order form, .feedbackForm, .clientForm, .goodsDataOpinionAddForm').submit(function(){
и замените на:
$(document).ready(function(){
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);
// Валидация формы на странице оформления заказа, а так же формы на страницы связи с администрацией
$('.order form, .feedbackForm, .clientForm, .goodsDataOpinionAddForm').submit(function(){

большое спасибо, все заработало! :)




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных