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


Помогите С Модификациями!


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

#1 dfysdbu

dfysdbu

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

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

Отправлено 05 Март 2014 - 08:29

Доброго времени суток!

Помогите пожалуйста разобраться с возникшей проблемой.

Есть модификация товара (длинна) картинка ниже:

Изображение

Для каждой модификации (длинна) есть два варианта модификации (ширина) и почему то, в модификации (ширина) активна только одна строчка, а должны быть активны все строки, так как каждой (длине) соответствует две (ширины).
В чём может быть проблемма?

#2 Alexey11

Alexey11

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

  • Модератоpы
  • 1 057 сообщений
  • ГородНижний новгород

Отправлено 05 Март 2014 - 12:32

Просмотр сообщенияdfysdbu (05 Март 2014 - 08:29) писал:

Доброго времени суток!

Помогите пожалуйста разобраться с возникшей проблемой.

Есть модификация товара (длинна) картинка ниже:

Изображение

Для каждой модификации (длинна) есть два варианта модификации (ширина) и почему то, в модификации (ширина) активна только одна строчка, а должны быть активны все строки, так как каждой (длине) соответствует две (ширины).
В чём может быть проблемма?
Здравствуйте,
Укажите пожалуйста о каком аккаунте идет речь и на каком товаре есть данные модификации, чтобы мы могли посмотреть в чем может быть проблема.

#3 dfysdbu

dfysdbu

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

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

Отправлено 05 Март 2014 - 13:26

Просмотр сообщенияAlexey11 (05 Март 2014 - 12:32) писал:

Здравствуйте,
Укажите пожалуйста о каком аккаунте идет речь и на каком товаре есть данные модификации, чтобы мы могли посмотреть в чем может быть проблема.

Акаунт
sl-204342

Страница
http://bestdeck.ru/g...YTUw#show_tab_1

#4 support 2.0

support 2.0

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

  • Модераторы
  • 4 950 сообщений

Отправлено 05 Март 2014 - 17:10

У вас проблема в том, что перечислены не все сочетания модификаций. К примеру, у Вас есть товар с модификациями:
цвет черный
размер 44
кол-во 10шт

цвет белый
размер 40
кол-во 10шт

помимо этих модификаций вам также нужно перечислить
цвет черный
размер 40
кол-во 0шт

цвет белый
размер 44
кол-во 0шт.

Для того, чтобы данные модификации при выборе показывали, что их нет в наличии и заказать нельзя

#5 dfysdbu

dfysdbu

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

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

Отправлено 06 Март 2014 - 16:26

Просмотр сообщенияsupport 2.0 (05 Март 2014 - 17:10) писал:

У вас проблема в том, что перечислены не все сочетания модификаций. К примеру, у Вас есть товар с модификациями:
цвет черный
размер 44
кол-во 10шт

цвет белый
размер 40
кол-во 10шт

помимо этих модификаций вам также нужно перечислить
цвет черный
размер 40
кол-во 0шт

цвет белый
размер 44
кол-во 0шт.

Для того, чтобы данные модификации при выборе показывали, что их нет в наличии и заказать нельзя

Доброго времени суток!

Спасибо за помощь, всё получилось!

Возник следующий вопрос, возможно ли сделать так, что бы в выпадающих списках модификаций отсутствовали модификации с отсутствующим товаром. Например есть толщина 28 мм, для неё есть модификация ширина 90 мм, 110 мм, 140 мм, а для толщины 25 мм, есть только ширина 110 мм, как сделать, что бы ширина 90 и 140 для размера 25 была неактивна или не отображались?

#6 velena168

velena168

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

  • Пользователи
  • PipPipPipPip
  • 1 643 сообщений
  • ГородСанкт- Петербург

Отправлено 06 Март 2014 - 16:48

Просмотр сообщенияdfysdbu (06 Март 2014 - 16:26) писал:

Возник следующий вопрос, возможно ли сделать так, что бы в выпадающих списках модификаций отсутствовали модификации с отсутствующим товаром.

Тоже очень интересует.

#7 Сake

Сake

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

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

Отправлено 07 Март 2014 - 05:06

Попробуйте сделать следующее - в файле main.js найдите код

if(!goodsDataModifications.filter('[rel="'+slug+'"]').length) {
   $(this).attr('disabled', true);

и замените его на

var modification = goodsDataModifications.filter('[rel="'+slug+'"]');
if(!modification.length || (modification.length && !parseInt(modification.find('input[name="rest_value"]').val()))) {
   $(this).attr('disabled', true);

далее в файл стилей

select option:disabled {
  color: #FF0000;
}


#8 velena168

velena168

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

  • Пользователи
  • PipPipPipPip
  • 1 643 сообщений
  • ГородСанкт- Петербург

Отправлено 07 Март 2014 - 09:23

Просмотр сообщенияСake (07 Март 2014 - 05:06) писал:

Попробуйте сделать следующее - в файле main.js найдите код

if(!goodsDataModifications.filter('[rel="'+slug+'"]').length) {
$(this).attr('disabled', true);

и замените его на

var modification = goodsDataModifications.filter('[rel="'+slug+'"]');
if(!modification.length || (modification.length && !parseInt(modification.find('input[name="rest_value"]').val()))) {
$(this).attr('disabled', true);

далее в файл стилей

select option:disabled {
color: #FF0000;
}
Та-а-а-к просто? И, так нужно. Большое спасибо, Сake! Отлично получилось.

#9 dfysdbu

dfysdbu

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

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

Отправлено 05 Май 2014 - 21:18

Подскажите пожалуйста!

У меня есть товар на сайте с ценами в руб за метр^2, руб за метр^3 и тому подобное, но на сайте в категориях и на карточке товара отображается только цена в руб, в шаблоне "товар" я добавил код
было
<!-- Цена сейчас -->
			 <div class="price goodsDataMainModificationPriceNow" title="Текущая цена за &laquo;{GOODS_NAME}&raquo;" itemprop="price" content="{GOODS_MOD_PRICE_NOW}">
			 {GOODS_MOD_PRICE_NOW | money_format}
			 </div>
Стало
<!-- Цена сейчас -->
			 <div class="price goodsDataMainModificationPriceNow" title="Текущая цена за &laquo;{GOODS_NAME}&raquo;" itemprop="price" content="{GOODS_MOD_PRICE_NOW}">
			 {GOODS_MOD_PRICE_NOW | money_format}
<span class="goodsDataMainModificationPriceNow">за <span>{GOODS_MOD_MEASURE_NAME}</span></span>
			 </div>

И в main.js сделал
было

	 // Цена товара
	 goodsPriceNow.html(modificationPriceNowFormated);
Стало

	 // Цена товара
	 goodsPriceNow.html(modificationPriceNowFormated);
$('.goodsDataMainModificationMeasureName').html(modificationMeasureName);
Вроде цена стала отображаться нормально но при выборе модификации цена уже пропадает
Подскажите как сделать что бы везде где есть цена(в товарных категориях и на карточке товаров) цена указывалась в полной размерности (рубли за м^2 или рубли за м^3)?
Аккаунт SL-204342

#10 Сake

Сake

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

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

Отправлено 06 Май 2014 - 02:55

Проблема возникает из-за полного обновления блока goodsDataMainModificationPriceNow. Вам необходимо ваш блок

<span class="goodsDataMainModificationPriceNow">за <span>{GOODS_MOD_MEASURE_NAME}</span></span>

вынести за пределы родительского класса, а так же задать ему другой класс. Например

<!-- Цена сейчас -->
<div class="price">
<span class="goodsDataMainModificationPriceNow" title="Текущая цена за &laquo;{GOODS_NAME}&raquo;" itemprop="price" content="{GOODS_MOD_PRICE_NOW}">
  {GOODS_MOD_PRICE_NOW | money_format}
</span>
<span class="goodsDataMainModificationMeasureName">за <span>{GOODS_MOD_MEASURE_NAME}</span></span>
</div>


#11 dfysdbu

dfysdbu

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

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

Отправлено 12 Май 2014 - 14:59

Спасибо всё получилось

#12 Ася

Ася

    Пользователь

  • Пользователи
  • PipPip
  • 42 сообщений
  • ГородМосква

Отправлено 19 Июнь 2014 - 14:02

Добрый день!
Вроде бы сделала, как написано, но нулевой товар всё равно появляется при выборе. Подскажите пжл, что не так?

#13 MikDark

MikDark

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

  • Модераторы
  • 6 468 сообщений

Отправлено 19 Июнь 2014 - 14:08

Просмотр сообщенияАся (19 Июнь 2014 - 14:02) писал:

Добрый день!
Вроде бы сделала, как написано, но нулевой товар всё равно появляется при выборе. Подскажите пжл, что не так?

Попробуйте в разделе Настройки - Основные, поставить галочку около пункта:
Отключить возможность класть в корзину больше товара, чем есть в наличии

#14 Ася

Ася

    Пользователь

  • Пользователи
  • PipPip
  • 42 сообщений
  • ГородМосква

Отправлено 19 Июнь 2014 - 14:37

Галочки поставила, ничего не изменилось. При выборе модификации на витрине товара, даже при её нулевом количестве, она всё равно появляется в окошке выбора.

#15 MikDark

MikDark

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

  • Модераторы
  • 6 468 сообщений

Отправлено 19 Июнь 2014 - 15:05

Просмотр сообщенияАся (19 Июнь 2014 - 14:37) писал:

Галочки поставила, ничего не изменилось. При выборе модификации на витрине товара, даже при её нулевом количестве, она всё равно появляется в окошке выбора.

Скажите, на примере какого товара можно посмотреть?

#16 Ася

Ася

    Пользователь

  • Пользователи
  • PipPip
  • 42 сообщений
  • ГородМосква

Отправлено 19 Июнь 2014 - 19:00

Просмотр сообщенияMikDark (19 Июнь 2014 - 15:05) писал:

Скажите, на примере какого товара можно посмотреть?

Товар можно посмотреть здесь:

http://larinarium.ru...-upakovke-2-sht

Те варианты, которых нет в наличии, показываться при выборе не должны (длина11см - диаметр 2,5мм;4мм и длина 12см - диаметр 2мм;5мм)

#17 MikDark

MikDark

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

  • Модераторы
  • 6 468 сообщений

Отправлено 19 Июнь 2014 - 19:12

Просмотр сообщенияАся (19 Июнь 2014 - 19:00) писал:

Товар можно посмотреть здесь:

http://larinarium.ru...-upakovke-2-sht

Поставьте у отсутствующих товаров максимальную цену, должно помочь.

#18 Ася

Ася

    Пользователь

  • Пользователи
  • PipPip
  • 42 сообщений
  • ГородМосква

Отправлено 19 Июнь 2014 - 21:40

Просмотр сообщенияMikDark (19 Июнь 2014 - 19:12) писал:

Поставьте у отсутствующих товаров максимальную цену, должно помочь.

К сожалению не помогает. Появляется максимальная цена и "Товара нет в наличии"

#19 Сake

Сake

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

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

Отправлено 20 Июнь 2014 - 02:00

Добавьте в конец вашего файла main.js следующий код

$(function () {
  setTimeout(function () {
	if ($('.available-false').length && $('.available-false').is(':visible')) {
	  $('.goodsDataMainModificationsList').each(function () {
		var rest_value = parseInt($(this).find('[name="rest_value"]').val());
		var id = $(this).attr('rel').split('_');
		var block = $('.goodsDataMainModificationsBlockProperty');
		if (rest_value) {
		  $('.goodsDataMainModificationsBlockProperty select option').removeAttr('selected');
		  $('.goodsDataMainModificationsBlockProperty select option[value="' + id[0] + '"]').attr('selected', 'selected');
		  $('.goodsDataMainModificationsBlockProperty select option[value="' + id[1] + '"]').attr('selected', 'selected');
		  $('.goodsDataMainModificationsBlockProperty select option[value="' + id[0] + '"]').parent().trigger('change');
		}
	  });
	}
  }, 200);
});


#20 Ася

Ася

    Пользователь

  • Пользователи
  • PipPip
  • 42 сообщений
  • ГородМосква

Отправлено 20 Июнь 2014 - 14:36

Просмотр сообщенияСake (20 Июнь 2014 - 02:00) писал:

Добавьте в конец вашего файла main.js следующий код

$(function () {
setTimeout(function () {
if ($('.available-false').length && $('.available-false').is(':visible')) {
	 $('.goodsDataMainModificationsList').each(function () {
	 var rest_value = parseInt($(this).find('[name="rest_value"]').val());
	 var id = $(this).attr('rel').split('_');
	 var block = $('.goodsDataMainModificationsBlockProperty');
	 if (rest_value) {
		 $('.goodsDataMainModificationsBlockProperty select option').removeAttr('selected');
		 $('.goodsDataMainModificationsBlockProperty select option[value="' + id[0] + '"]').attr('selected', 'selected');
		 $('.goodsDataMainModificationsBlockProperty select option[value="' + id[1] + '"]').attr('selected', 'selected');
		 $('.goodsDataMainModificationsBlockProperty select option[value="' + id[0] + '"]').parent().trigger('change');
	 }
	 });
}
}, 200);
});

Добрый день!
К сожалению это тоже не помогло. Может я что-то не так делаю? Что ещё можно сделать?




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

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