В Корзину Кладется Не Та Модификация
#1
Отправлено 19 Июль 2013 - 15:53
Товаримеет 2 размера (62 и 74) и у каждого размера по 2 цвета (белый и розовый).
Если выбрать 74-й размер и цвет розовый и нажать "Положить в корзину", то в корзине почему-то оказывается 62-й размер с белым цветом.
Пробовали в IE, хроме и яндексе.
Помогите!!!
#2
Отправлено 20 Июль 2013 - 03:57
slug = checkProperties.sort(function(a,B){return a - b}).join('_');
и замените на
slug = checkProperties.sort(function(a,c){return a - c}).join('_');
#3
Отправлено 25 Июль 2013 - 12:18
#4
Отправлено 26 Июль 2013 - 00:09
slug = checkProperties.sort(function(a,c){return a - c}).join('_');
у вас
slug = checkProperties.sort(function(a,C){return a - c}).join('_');
т.е большая буква C а должна быть маленькая c Замените строку, или букву.
#5
Отправлено 26 Июль 2013 - 08:51
#6
Отправлено 27 Июль 2013 - 08:28
}); // Функция собирает свойства в строку, для определения модификации товара function getSlugFromGoodsDataFormModificationsProperties(obj) { var properties = new Array(); $(obj).each(function(i){ properties[i] = parseInt($(this).val()); }); return properties.sort(function(a,C){return a - c}).join('_'); } var // Запоминаем поля выбора свойств, для ускорения работы со значениями свойств goodsDataProperties = $('form.goodsDataForm select[name="form[properties][]"]'), // Запоминаем блоки с информацией по модификациям, для ускорения работы goodsDataModifications = $('div.goodsDataMainModificationsList'); // Обновляет возможность выбора свойств модификации, для отключения возможности выбора по характеристикам модификации которой не существует. function updateVisibility (y) { // Проверяем в каждом соседнем поле выбора модификаций, возможно ли подобрать модификацию для указанных свойств goodsDataProperties.each(function(j){ // Если мы сравниваем значения свойства не с самим собой, а с другим списком значений свойств if( j != y ) { // Проходим по всем значениям текущего свойства модификации товара $(this).find('option').each(function(){ // Записываем временный массив свойств, которые будем использовать для проверки существования модификации var checkProperties = new Array(); $(goodsDataProperties).each(function(i){ checkProperties[i] = parseInt($(this).val()); }); // Пытаемся найти модификацию соответствующую выбранным значениям свойств checkProperties[j] = parseInt($(this).attr('value')); // Собираем хэш определяющий модификацию по свойствам slug = checkProperties.sort(function(a,C){return a - c}).join('_'); // Ищем модификацию по всем выбранным значениям свойств товара. Если модификации нет в возможном выборе, отмечаем потенциальное значение выбора как не доступное для выбора, т.к. такой модификации нет. if(!goodsDataModifications.filter('[rel="'+slug+'"]').length) { $(this).attr('disabled', true); // Если выбрав данное значение свойства товара можно подобрать модификацию, то выделяем вариант выбора как доступный. } else { $(this).attr('disabled', false); } }); } });
#7
Отправлено 27 Июль 2013 - 08:38
Гость (27 Июль 2013 - 08:28) писал:
}); // Функция собирает свойства в строку, для определения модификации товара function getSlugFromGoodsDataFormModificationsProperties(obj) { var properties = new Array(); $(obj).each(function(i){ properties[i] = parseInt($(this).val()); }); return properties.sort(function(a,C){return a - c}).join('_'); } var // Запоминаем поля выбора свойств, для ускорения работы со значениями свойств goodsDataProperties = $('form.goodsDataForm select[name="form[properties][]"]'), // Запоминаем блоки с информацией по модификациям, для ускорения работы goodsDataModifications = $('div.goodsDataMainModificationsList'); // Обновляет возможность выбора свойств модификации, для отключения возможности выбора по характеристикам модификации которой не существует. function updateVisibility (y) { // Проверяем в каждом соседнем поле выбора модификаций, возможно ли подобрать модификацию для указанных свойств goodsDataProperties.each(function(j){ // Если мы сравниваем значения свойства не с самим собой, а с другим списком значений свойств if( j != y ) { // Проходим по всем значениям текущего свойства модификации товара $(this).find('option').each(function(){ // Записываем временный массив свойств, которые будем использовать для проверки существования модификации var checkProperties = new Array(); $(goodsDataProperties).each(function(i){ checkProperties[i] = parseInt($(this).val()); }); // Пытаемся найти модификацию соответствующую выбранным значениям свойств checkProperties[j] = parseInt($(this).attr('value')); // Собираем хэш определяющий модификацию по свойствам slug = checkProperties.sort(function(a,C){return a - c}).join('_'); // Ищем модификацию по всем выбранным значениям свойств товара. Если модификации нет в возможном выборе, отмечаем потенциальное значение выбора как не доступное для выбора, т.к. такой модификации нет. if(!goodsDataModifications.filter('[rel="'+slug+'"]').length) { $(this).attr('disabled', true); // Если выбрав данное значение свойства товара можно подобрать модификацию, то выделяем вариант выбора как доступный. } else { $(this).attr('disabled', false); } }); } });
Код:
return properties.sort(function(a,C){return a - c}).join('_');замените на:
return properties.sort(function(a,c){return a - c}).join('_');
#8
Отправлено 27 Июль 2013 - 08:52
miyako (27 Июль 2013 - 08:38) писал:
return properties.sort(function(a,C){return a - c}).join('_');замените на:
return properties.sort(function(a,c){return a - c}).join('_');
#9
Отправлено 27 Июль 2013 - 10:23
Гость (27 Июль 2013 - 08:52) писал:
еще в одном месте нужно изменить C
slug = checkProperties.sort(function(a,C){return a - c}).join('_');
#10
Отправлено 27 Июль 2013 - 10:42
miyako (27 Июль 2013 - 10:23) писал:
slug = checkProperties.sort(function(a,C){return a - c}).join('_');
148 return properties.sort(function(a,c){return a - c}).join('_'); ... 176 slug = checkProperties.sort(function(a,c){return a - c}).join('_');
#11
Отправлено 27 Июль 2013 - 13:09
Гость (27 Июль 2013 - 10:42) писал:
148 return properties.sort(function(a,c){return a - c}).join('_'); ... 176 slug = checkProperties.sort(function(a,c){return a - c}).join('_');
На каком товаре видна ошибка? Можете дать ссылку на товар?
#12
Отправлено 27 Июль 2013 - 13:58
miyako (27 Июль 2013 - 13:09) писал:
#13
Отправлено 28 Июль 2013 - 07:31
Гость (27 Июль 2013 - 13:58) писал:
Как я понимаю ошибка заключалась в том, что товар попадает в корзину с другими свойствами. Если так, то у Вас на сайте работает верно. Проверьте еще раз.
#15
Отправлено 29 Июль 2013 - 13:12
#16
Отправлено 29 Август 2013 - 14:19
1.Тщательно изучила соответствующие темы форума, но, к сожалению, ни одно решение не избавило мой магазин от проблемы. Возможно, причина кроется в другом. Дело в том, что при наличии у товара нескольких цветов в корзину кладется неизменно один и тот же цвет. Например, сумка бежевая и шоколадная. Хочу купить шоколадную, но в корзине оказывается бежевая (((. Все описанные на разных ветках форума манипуляции с модификациями, описанием и свойствами, и даже блоками модификаций и изображений проделала. Но результат отрицателен. Мой магазин: bezkoshelka.ru
2. Второй момент: если я правильно поняла, то связать модификацию и изображение модификации (в моем случае цвет сумки с ее изображением) невозможно на данной платформе? Или я ошибаюсь? чему была бы очень рада )
#17
Отправлено 30 Август 2013 - 02:16
Например в файле main.js найдите
reset_arr.sort(function(a,B){return a - b}).join('_');
и замените на
reset_arr.sort(function(a,d){return a - d}).join('_');
2) С прямым изображением (загружаемым к товару) - да, но вы можете к модификации добавить не только произвольный текст (описание модификации - задается в карточке товара), но и изображение - просто добавьте в качестве текста изображение в виде html кода (тег <img>).
#18
Отправлено 31 Август 2013 - 12:29
#19
Отправлено 30 Август 2014 - 22:28
У меня проблема на проблеме:
1. при создании товара с несколькими свойствами (например размер 44, цвет коричневый шт.1 и размер 44, цвет красный шт.1) на странице заказа не изменяется количество товара после заказа, его все еще можно заказать...
думала, что это я криво занесла товар, но нет - родные товара шаблона выдают ту же ошибку....
2. в корзине отображается не та модификация товара, показывается одна и та же модификация товара, даже если был куплен один товар разных размеров и цветов....такая же ошибка и с родными товарами шаблона
3. в админке во вкладке "заказы" - не отображаются модификации выбранных товаров...
4. при изменении количества товара с 1шт на 0шт, на странице с товаром по какой-то причине присваивается "под заказ" всем модификациям товара...
все, что писали выше в данной теме - я сделала, ничего не поменялось....мне скоро открываться - а сайт не работает...помогите!!!
мой Аккаунт SL-305989
#20
Отправлено 31 Август 2014 - 15:54
lenusik86 (30 Август 2014 - 22:28) писал:
У меня проблема на проблеме:
1. при создании товара с несколькими свойствами (например размер 44, цвет коричневый шт.1 и размер 44, цвет красный шт.1) на странице заказа не изменяется количество товара после заказа, его все еще можно заказать...
думала, что это я криво занесла товар, но нет - родные товара шаблона выдают ту же ошибку....
2. в корзине отображается не та модификация товара, показывается одна и та же модификация товара, даже если был куплен один товар разных размеров и цветов....такая же ошибка и с родными товарами шаблона
3. в админке во вкладке "заказы" - не отображаются модификации выбранных товаров...
4. при изменении количества товара с 1шт на 0шт, на странице с товаром по какой-то причине присваивается "под заказ" всем модификациям товара...
все, что писали выше в данной теме - я сделала, ничего не поменялось....мне скоро открываться - а сайт не работает...помогите!!!
мой Аккаунт SL-305989
Уточните, пожалуйста, на примере какого товара можно посмотреть данную проблему.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных