Свят (10 Сентябрь 2014 - 19:32) писал:
Модификации Товара, Отображение
#41
Отправлено 10 Сентябрь 2014 - 19:39
#42
Отправлено 10 Сентябрь 2014 - 20:44
Ирина345 (10 Сентябрь 2014 - 19:39) писал:
Меню все по сьезжало...отскринил только что видно...остальное ниже((
#43
Отправлено 11 Сентябрь 2014 - 04:00
#45
Отправлено 26 Сентябрь 2014 - 20:08
Vaccina (11 Сентябрь 2014 - 04:00) писал:
Свят (11 Сентябрь 2014 - 22:22) писал:
http://medmag24.ru/g...Iya-r-40-60-tik
Меню все внизу....модификации не в столбик....и при их смене цена не меняется...помогите плиз...
#46
Отправлено 27 Сентябрь 2014 - 17:52
#47
Отправлено 27 Сентябрь 2014 - 19:09
Свят (27 Сентябрь 2014 - 17:52) писал:
#48
Отправлено 28 Сентябрь 2014 - 21:37
Alekseys (27 Сентябрь 2014 - 19:09) писал:
Vaccina (15 Июнь 2011 - 15:13) писал:
{% IF goods_modifications_properties.values.first %} [b]{goods_modifications_properties.NAME}:[/b] {% ENDIF %}{goods_modifications_properties.values.NAME}{% IF goods_modifications_properties.values.last %} {% ENDIF %}заменить на
{% IF goods_modifications_properties.values.first %} [b]{goods_modifications_properties.NAME}:[/b] {% ENDIF %} {goods_modifications_properties.values.NAME}далее нужно изменить JS. Для этого в файле main.js нужно найти следующую функцию
// Функция собирает свойства в строку, для определения модификации товара function getSlugFromGoodsDataFormModificationsProperties(obj) { var properties = new Array(); $(obj).each(function(i){ properties[i] = parseInt($(this).val()); }); return properties.sort(function(a,B){return a - b}).join('_'); }заменить на
// Функция собирает свойства в строку, для определения модификации товара function getSlugFromGoodsDataFormModificationsProperties(obj) { var properties = new Array(); var reset_arr = new Array(); $(obj).each(function(i){ if($(this).is(':checked')){ properties[i] = parseInt($(this).val());} }); for(var i in properties) { if(properties[i]) { reset_arr.push(properties[i]); } } return reset_arr.sort(function(a,B){return a - b}).join('_'); }
#51
Отправлено 01 Октябрь 2014 - 18:16
#52
Отправлено 01 Октябрь 2014 - 18:27
Свят (01 Октябрь 2014 - 18:16) писал:
Свят (01 Октябрь 2014 - 18:16) писал:
На данный момент у вас выпадающий список.
#53
Отправлено 01 Октябрь 2014 - 19:28
Ирина345 (01 Октябрь 2014 - 18:27) писал:
На данный момент у вас выпадающий список.
http://forum.storela...ации/#entry4198
мне бы подошло такое. Вот только по тем кодам все слетает(((
#54
Отправлено 04 Октябрь 2014 - 21:09
#55
Отправлено 04 Октябрь 2014 - 23:14
{% IF goods_modifications_properties.values.first %} <div class="title fnt11 b">{goods_modifications_properties.NAME}:</div> <div class="select"> <select name="form[properties][]"> {% ENDIF %} <option value="{goods_modifications_properties.values.ID}" {% IF goods_modifications_properties.values.SELECTED %}selected="selected"{% ENDIF %}>{goods_modifications_properties.values.NAME}</option> <!-- Если это последний элемент в списке --> {% IF goods_modifications_properties.values.last %} </select> {% ENDIF %} </div>замените на:
<!-- Если это первый элемент в списке --> {% IF goods_modifications_properties.values.first %} <strong>{goods_modifications_properties.NAME}:</strong><br /> {% ENDIF %} <input type="radio" name="form[properties][]" value="{goods_modifications_properties.values.ID}" {% IF goods_modifications_properties.values.SELECTED %}checked="checked"{% ENDIF %} /> {goods_modifications_properties.values.NAME} <br />
далее в main.js найдите:
// Функция собирает свойства в строку, для определения модификации товара function getSlugFromGoodsDataFormModificationsProperties(obj) { var properties = new Array(); $(obj).each(function(i) { properties[i] = parseInt($(this).val()); }); return properties.sort(function(aaa, bbb) { return aaa - bbb }).join('_'); } var // Запоминаем поля выбора свойств, для ускорения работы со значениями свойств goodsDataProperties = $('form.goodsDataForm select[name="form[properties][]"]'), // Запоминаем блоки с информацией по модификациям, для ускорения работы goodsDataModifications = $('div.ModificationsList'); // Обновляет возможность выбора свойств модификации, для отключения возможности выбора по характеристикам модификации которой не существует. 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, B) { return a - b }).join('_'); // Ищем модификацию по всем выбранным значениям свойств товара. Если модификации нет в возможном выборе, отмечаем потенциальное значение выбора как не доступное для выбора, т.к. такой модификации нет. if (!goodsDataModifications.filter('[rel="' + slug + '"]').length) { $(this).attr('disabled', true); // Если выбрав данное значение свойства товара можно подобрать модификацию, то выделяем вариант выбора как доступный. } else { $(this).attr('disabled', false); } }); } }); } // Обновляем возможность выбора модификации товара по свойствам. Для тех свойств, выбор по которым не возможен, отключаем такую возможность. // Проверяем возможность выбора на всех полях кроме первого, чтобы отключить во всех остальных варианты, которые не возможно выбрать updateVisibility(0); // Проверяем возможность выбора на всех полях кроме второго, чтобы в первом поле так же отключилась возможность выбора не существующих модификаций updateVisibility(1); // Изменение цены товара при изменении у товара свойства для модификации goodsDataProperties.each(function(y) { $(this).change(function() {
замените на:
// Функция собирает свойства в строку, для определения модификации товара function getSlugFromGoodsDataFormModificationsProperties(obj) { var properties = new Array(); var reset_arr = new Array(); $(obj).each(function(i){ if($(this).is(':checked')){ properties[i] = parseInt($(this).val());} }); for(var i in properties) { if(properties[i]) { reset_arr.push(properties[i]); } } return reset_arr.sort(function(a,j){return a - j}).join('_'); } var // Запоминаем поля выбора свойств, для ускорения работы со значениями свойств goodsDataProperties = $('form.goodsDataForm [name="form[properties][]"]'), // Запоминаем блоки с информацией по модификациям, для ускорения работы goodsDataModifications = $('div.goodsDataMainModificationsList'); // Обновляет возможность выбора свойств модификации, для отключения возможности выбора по характеристикам модификации которой не существует. function updateVisibility (y) { // Проверяем в каждом соседнем поле выбора модификаций, возможно ли подобрать модификацию для указанных свойств goodsDataProperties.each(function(j){ // Если мы сравниваем значения свойства не с самим собой, а с другим списком значений свойств if( j != y ) { // Проходим по всем значениям текущего свойства модификации товара // Записываем временный массив свойств, которые будем использовать для проверки существования модификации var checkProperties = new Array(); $(goodsDataProperties).each(function(i){ checkProperties[i] = parseInt($(this).val()); }); // Пытаемся найти модификацию соответствующую выбранным значениям свойств checkProperties[j] = parseInt($(this).attr('value')); // Собираем хэш определяющий модификацию по свойствам slug = checkProperties.sort(function(a,j){return a - j}).join('_'); // Ищем модификацию по всем выбранным значениям свойств товара. Если модификации нет в возможном выборе, отмечаем потенциальное значение выбора как не доступное для выбора, т.к. такой модификации нет. if(!goodsDataModifications.filter('[rel="'+slug+'"]').length) { //$(this).attr('disabled', true); // Если выбрав данное значение свойства товара можно подобрать модификацию, то выделяем вариант выбора как доступный. } else { $(this).attr('disabled', false); } } }); } // Обновляем возможность выбора модификации товара по свойствам. Для тех свойств, выбор по которым не возможен, отключаем такую возможность. // Проверяем возможность выбора на всех полях кроме первого, чтобы отключить во всех остальных варианты, которые не возможно выбрать updateVisibility (0); // Проверяем возможность выбора на всех полях кроме второго, чтобы в первом поле так же отключилась возможность выбора не существующих модификаций updateVisibility (1); //var goodsDataProperties = $('.goodsDataForm [name="form[properties][]"]'); // Изменение цены товара при изменении у товара свойства для модификации goodsDataProperties.each(function(){ $(this).click(function(){
#56
Отправлено 05 Октябрь 2014 - 12:51
Vaccina (04 Октябрь 2014 - 23:14) писал:
{% IF goods_modifications_properties.values.first %} {goods_modifications_properties.NAME}: {% ENDIF %}{goods_modifications_properties.values.NAME}{% IF goods_modifications_properties.values.last %} {% ENDIF %}замените на:
{% IF goods_modifications_properties.values.first %} [b]{goods_modifications_properties.NAME}:[/b] {% ENDIF %} {goods_modifications_properties.values.NAME}далее в main.js найдите:
// Функция собирает свойства в строку, для определения модификации товара function getSlugFromGoodsDataFormModificationsProperties(obj) { var properties = new Array(); $(obj).each(function(i) { properties[i] = parseInt($(this).val()); }); return properties.sort(function(aaa, bbb) { return aaa - bbb }).join('_'); } var // Запоминаем поля выбора свойств, для ускорения работы со значениями свойств goodsDataProperties = $('form.goodsDataForm select[name="form[properties][]"]'), // Запоминаем блоки с информацией по модификациям, для ускорения работы goodsDataModifications = $('div.ModificationsList'); // Обновляет возможность выбора свойств модификации, для отключения возможности выбора по характеристикам модификации которой не существует. 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, B) { return a - b }).join('_'); // Ищем модификацию по всем выбранным значениям свойств товара. Если модификации нет в возможном выборе, отмечаем потенциальное значение выбора как не доступное для выбора, т.к. такой модификации нет. if (!goodsDataModifications.filter('[rel="' + slug + '"]').length) { $(this).attr('disabled', true); // Если выбрав данное значение свойства товара можно подобрать модификацию, то выделяем вариант выбора как доступный. } else { $(this).attr('disabled', false); } }); } }); } // Обновляем возможность выбора модификации товара по свойствам. Для тех свойств, выбор по которым не возможен, отключаем такую возможность. // Проверяем возможность выбора на всех полях кроме первого, чтобы отключить во всех остальных варианты, которые не возможно выбрать updateVisibility(0); // Проверяем возможность выбора на всех полях кроме второго, чтобы в первом поле так же отключилась возможность выбора не существующих модификаций updateVisibility(1); // Изменение цены товара при изменении у товара свойства для модификации goodsDataProperties.each(function(y) { $(this).change(function() {замените на:
// Функция собирает свойства в строку, для определения модификации товара function getSlugFromGoodsDataFormModificationsProperties(obj) { var properties = new Array(); var reset_arr = new Array(); $(obj).each(function(i){ if($(this).is(':checked')){ properties[i] = parseInt($(this).val());} }); for(var i in properties) { if(properties[i]) { reset_arr.push(properties[i]); } } return reset_arr.sort(function(a,j){return a - j}).join('_'); } var // Запоминаем поля выбора свойств, для ускорения работы со значениями свойств goodsDataProperties = $('form.goodsDataForm [name="form[properties][]"]'), // Запоминаем блоки с информацией по модификациям, для ускорения работы goodsDataModifications = $('div.goodsDataMainModificationsList'); // Обновляет возможность выбора свойств модификации, для отключения возможности выбора по характеристикам модификации которой не существует. function updateVisibility (y) { // Проверяем в каждом соседнем поле выбора модификаций, возможно ли подобрать модификацию для указанных свойств goodsDataProperties.each(function(j){ // Если мы сравниваем значения свойства не с самим собой, а с другим списком значений свойств if( j != y ) { // Проходим по всем значениям текущего свойства модификации товара // Записываем временный массив свойств, которые будем использовать для проверки существования модификации var checkProperties = new Array(); $(goodsDataProperties).each(function(i){ checkProperties[i] = parseInt($(this).val()); }); // Пытаемся найти модификацию соответствующую выбранным значениям свойств checkProperties[j] = parseInt($(this).attr('value')); // Собираем хэш определяющий модификацию по свойствам slug = checkProperties.sort(function(a,j){return a - j}).join('_'); // Ищем модификацию по всем выбранным значениям свойств товара. Если модификации нет в возможном выборе, отмечаем потенциальное значение выбора как не доступное для выбора, т.к. такой модификации нет. if(!goodsDataModifications.filter('[rel="'+slug+'"]').length) { //$(this).attr('disabled', true); // Если выбрав данное значение свойства товара можно подобрать модификацию, то выделяем вариант выбора как доступный. } else { $(this).attr('disabled', false); } } }); } // Обновляем возможность выбора модификации товара по свойствам. Для тех свойств, выбор по которым не возможен, отключаем такую возможность. // Проверяем возможность выбора на всех полях кроме первого, чтобы отключить во всех остальных варианты, которые не возможно выбрать updateVisibility (0); // Проверяем возможность выбора на всех полях кроме второго, чтобы в первом поле так же отключилась возможность выбора не существующих модификаций updateVisibility (1); //var goodsDataProperties = $('.goodsDataForm [name="form[properties][]"]'); // Изменение цены товара при изменении у товара свойства для модификации goodsDataProperties.each(function(){ $(this).click(function(){
#57
Отправлено 06 Октябрь 2014 - 17:18
#58
Отправлено 10 Октябрь 2014 - 04:46
// Запоминаем блоки с информацией по модификациям, для ускорения работы goodsDataModifications = $('div.goodsDataMainModificationsList');заменяем на:
// Запоминаем блоки с информацией по модификациям, для ускорения работы goodsDataModifications = $('.ModificationsList');
далее находим:
// Отправим запись об ошибке на сервер sendError('no modification by slug ' + slug); alert('К сожалению сейчас не получается подобрать модификацию соответствующую выбранным параметрам.'); } // Обновляем возможность выбора другой модификации для текущих значений свойств модификации товара. updateVisibility(y);меняем на:
// Отправим запись об ошибке на сервер sendError('no modification by slug ' + slug); alert('К сожалению сейчас не получается подобрать модификацию соответствующую выбранным параметрам.'); } // Проверяем возможность выбора на всех полях кроме первого, чтобы отключить во всех остальных варианты, которые не возможно выбрать updateVisibility (0); // Проверяем возможность выбора на всех полях кроме второго, чтобы в первом поле так же отключилась возможность выбора не существующих модификаций updateVisibility (1);
#59
Отправлено 10 Октябрь 2014 - 15:18
Vaccina (10 Октябрь 2014 - 04:46) писал:
// Запоминаем блоки с информацией по модификациям, для ускорения работы goodsDataModifications = $('div.goodsDataMainModificationsList');заменяем на:
// Запоминаем блоки с информацией по модификациям, для ускорения работы goodsDataModifications = $('.ModificationsList');
далее находим:
// Отправим запись об ошибке на сервер sendError('no modification by slug ' + slug); alert('К сожалению сейчас не получается подобрать модификацию соответствующую выбранным параметрам.'); } // Обновляем возможность выбора другой модификации для текущих значений свойств модификации товара. updateVisibility(y);меняем на:
// Отправим запись об ошибке на сервер sendError('no modification by slug ' + slug); alert('К сожалению сейчас не получается подобрать модификацию соответствующую выбранным параметрам.'); } // Проверяем возможность выбора на всех полях кроме первого, чтобы отключить во всех остальных варианты, которые не возможно выбрать updateVisibility (0); // Проверяем возможность выбора на всех полях кроме второго, чтобы в первом поле так же отключилась возможность выбора не существующих модификаций updateVisibility (1);
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных