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


Вывод Варианта Доставки В Зависимости От Названия Товара


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

#61 Яндекс

Яндекс

    Продвинутый пользователь

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

Отправлено 25 Май 2016 - 06:27

/goods/smart

#62 Vaccina

Vaccina

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

  • Модераторы
  • 24 370 сообщений

Отправлено 25 Май 2016 - 06:41

Спасибо, используйте следующий код:
$(function() {
if($('.deliveryRadio').length) {
		 $.get('/cart', function(content) {
				 $(content).find('.cartListTable .info .fnt12 a').each(function() {
						 var goodsName = $.trim($(this).text());
						 if(goodsName.indexOf('mart') !== -1) {
								 $('.deliveryRadio[value="322772"], .deliveryRadio[value="322785"], .deliveryRadio[value="339814"]').closest('tr').hide();
						 } else {
		 $('.deliveryRadio[value="326559"]').closest('tr').hide();
						 }
				 });
		 });
}
});


#63 Яндекс

Яндекс

    Продвинутый пользователь

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

Отправлено 25 Май 2016 - 06:45

Просмотр сообщенияVaccina (25 Май 2016 - 06:41) писал:

Спасибо, используйте следующий код:
$(function() {
if($('.deliveryRadio').length) {
		 $.get('/cart', function(content) {
				 $(content).find('.cartListTable .info .fnt12 a').each(function() {
						 var goodsName = $.trim($(this).text());
						 if(goodsName.indexOf('mart') !== -1) {
								 $('.deliveryRadio[value="322772"], .deliveryRadio[value="322785"], .deliveryRadio[value="339814"]').closest('tr').hide();
						 } else {
		 $('.deliveryRadio[value="326559"]').closest('tr').hide();
						 }
				 });
		 });
}
});
Сделал, не работает.

#64 Vaccina

Vaccina

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

  • Модераторы
  • 24 370 сообщений

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

Данный код необходимо вставлять не в main.CSS, а в main.JS

#65 Яндекс

Яндекс

    Продвинутый пользователь

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

Отправлено 25 Май 2016 - 06:52

Просмотр сообщенияVaccina (25 Май 2016 - 06:48) писал:

Данный код необходимо вставлять не в main.CSS, а в main.JS
Исправил, спасибо!
Как сделать чтобы в карточке товар тоже функционировало данное правило ?

#66 Vaccina

Vaccina

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

  • Модераторы
  • 24 370 сообщений

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

Вы имеете ввиду вывод текста условий доставки в каждом товаре?

#67 Яндекс

Яндекс

    Продвинутый пользователь

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

Отправлено 25 Май 2016 - 07:01

Просмотр сообщенияVaccina (25 Май 2016 - 06:59) писал:

Вы имеете ввиду вывод текста условий доставки в каждом товаре?
Да

#68 IFullHaus

IFullHaus

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

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

Отправлено 25 Май 2016 - 08:31

варианты доставки:
почта с наложенным -1
почта обычная с предоплатой -2
почта 1 класс - 3
самовывоз - 4
Сделал, но варианты доставки перепутанны. на товарах с самовывозом отображаются 1,2,3
на товарах без самовывоза отображается 1
нужно чтобы отображалось с самовывозом 4
без самовывоза 1,2,3,4

#69 Яндекс

Яндекс

    Продвинутый пользователь

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

Отправлено 26 Май 2016 - 06:51

Просмотр сообщенияVaccina (25 Май 2016 - 06:59) писал:

Вы имеете ввиду вывод текста условий доставки в каждом товаре?
Да, это возможно ?

#70 Яндекс

Яндекс

    Продвинутый пользователь

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

Отправлено 27 Май 2016 - 06:06

Up

#71 IFullHaus

IFullHaus

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

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

Отправлено 30 Май 2016 - 07:21

Тема актуальна



#72 IFullHaus

IFullHaus

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

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

Отправлено 01 Июнь 2016 - 21:10

Все еще нужна помощь

#73 Vaccina

Vaccina

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

  • Модераторы
  • 24 370 сообщений

Отправлено 02 Июнь 2016 - 02:47

Просмотр сообщенияЯндекс (25 Май 2016 - 06:52) писал:

Исправил, спасибо!
Как сделать чтобы в карточке товар тоже функционировало данное правило ?

В шаблоне main.js в самом конце пропишите:
$(function() {
  var Name = $('#productBlock').find('.contenttext .title')
  var goodsName = $.trim($(Name).text());
  console.log(goodsName);
  if(goodsName.indexOf('*') !== -1) {
	$('.variant[rel="322772"], .variant[rel="322785"], .variant[rel="339814"]').hide();
  } else {
	$('.variant[rel="326559"]').hide();
  }
});


В шаблоне Товар найдите:
<!-- Способ -->
				{% FOR goods_delivery %}
				  <div class="variant">

замените на:
<!-- Способ -->
				{% FOR goods_delivery %}
				  <div class="variant" rel="{goods_delivery.ID}">

Просмотр сообщенияIFullHaus (25 Май 2016 - 08:31) писал:

варианты доставки:
почта с наложенным -1
почта обычная с предоплатой -2
почта 1 класс - 3
самовывоз - 4
Сделал, но варианты доставки перепутанны. на товарах с самовывозом отображаются 1,2,3
на товарах без самовывоза отображается 1
нужно чтобы отображалось с самовывозом 4
без самовывоза 1,2,3,4

В шаблоне main.js и Быстрый заказ найдите:
$(document).ready(function(){
  if($('.deliveryRadio').length) {
				$.get('/cart', function(content) {
				  $(content).find('.cartForm .cartFormTbodyHeader').each(function() {
								var goodsName = $.trim($(this).text());
								if(goodsName.indexOf('амовывоз') !== -1) {
								  $('.deliveryRadio[value="347557"]').hide();
								} else {
								  $('.deliveryRadio[value="345883"], .deliveryRadio[value="346361"], .deliveryRadio[value="346362"]').hide();
								}
				  });
				});
  }
});

замените на:
$(document).ready(function(){
  if($('.deliveryRadio').length) {
				$.get('/cart', function(content) {
				  $(content).find('.cartForm .cartFormTbodyHeader').each(function() {
								var goodsName = $.trim($(this).text());
								if(goodsName.indexOf('амовывоз') !== -1) {
		  $('.deliveryRadio[value="345883"], .deliveryRadio[value="346361"], .deliveryRadio[value="346362"]').hide();
								} else {
								  $('.deliveryRadio[value="347557"]').hide();
								}
				  });
				});
  }
});


#74 IFullHaus

IFullHaus

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

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

Отправлено 02 Июнь 2016 - 21:10

Vaccina
Работает не корректно.
В товарах где нет "самовывоз" не отображается вариант самовывоза
1.JPG
В товарах где есть "самовывоз" по умолчанию стоит вариант доставки "почтой наложенным платежом"
2.JPG
после выбора вариантов доставки предлагается только самовывоз.
3.JPG

#75 Vaccina

Vaccina

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

  • Модераторы
  • 24 370 сообщений

Отправлено 03 Июнь 2016 - 05:11

$(document).ready(function(){
  if($('.deliveryRadio').length) {
								$.get('/cart', function(content) {
								  $(content).find('.cartForm .cartFormTbodyHeader').each(function() {
																var goodsName = $.trim($(this).text());
																if(goodsName.indexOf('амовывоз') !== -1) {
				  $('.deliveryRadio[value="345883"], .deliveryRadio[value="346361"], .deliveryRadio[value="346362"]').hide();
																} else {
																  $('.deliveryRadio[value="347557"]').hide();
																}
								  });
								});
  }
});

замените на:
$(document).ready(function(){
  if($('.deliveryRadio').length) {
								$.get('/cart', function(content) {
								  $(content).find('.cartForm .cartFormTbodyHeader').each(function() {
																var goodsName = $.trim($(this).text());
																if(goodsName.indexOf('амовывоз') !== -1) {
				  $('.deliveryRadio[value="345883"], .deliveryRadio[value="346361"], .deliveryRadio[value="346362"]').hide();
																}
								  });
								});
  }
});

В шаблоне Быстрый заказ найдите:
<select class="mainSelect">
		{% FOR order_delivery %}
						<option id="deliveryId{order_delivery.ID}" class="deliveryRadio" delId="{order_delivery.ID}" name="form[delivery][id]" value="{order_delivery.ID}">{order_delivery.NAME}</option>
				{%ENDFOR%}
		</select>

замените на:
<select class="mainSelect">
<option disabled>Выберите способ доставки</option>
		{% FOR order_delivery %}
						<option id="deliveryId{order_delivery.ID}" class="deliveryRadio" delId="{order_delivery.ID}" name="form[delivery][id]" value="{order_delivery.ID}">{order_delivery.NAME}</option>
				{%ENDFOR%}
		</select>


#76 IFullHaus

IFullHaus

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

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

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

Спасибо, работает

#77 customer8765

customer8765

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

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

Отправлено 13 Июнь 2016 - 15:27

Пытался сделать выбор способа доставки в зависимости от названия товара, вставил в Быстрый заказ код, но не заработало, шаблон ЛЕТО

$(function () {
  if ($('.deliveryRadio').length) {
        $.get('/cart', function (content) {
          $(content).find('.cartForm .cartFormTbodyHeader').each(function () {
                var goodsName = $.trim($(this).text());
                 $('.orderStageDeliveryListTable tbody').hide();
                if (goodsName.indexOf('инолеум') !== - 1 || goodsName.indexOf('овролин') !== - 1 || goodsName.indexOf('трава') !== - 1) {
                  $('.deliveryRadio[value="329340"], .deliveryRadio[value="327327"], .deliveryRadio[value="327525"]').closest('tbody').show();
                } else {
                  $('.deliveryRadio[value="327511"], .deliveryRadio[value="327525"], .deliveryRadio[value="326818"], .deliveryRadio[value="327326"], .deliveryRadio[value="327513"], .deliveryRadio[value="327519"], .deliveryRadio[value="329340"]').closest('tbody').show();
                }
          });
        });
  }
});

#78 IFullHaus

IFullHaus

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

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

Отправлено 30 Июнь 2016 - 21:27

Здравствуйте.

варианты доставки:
почта с наложенным -1
почта обычная с предоплатой -2
почта 1 класс - 3
самовывоз - 4
варианты оплаты:
на карту Сбербанка -1
наложенным платежом -2
наличными при получении -3

Необходимо на всех товарах сделать "выберите способ доставки" и "выберите способ оплаты"
что нужно убрать.JPG
Далее...
Товары в названии которых (самовывоз)
доставка - 4; оплата - 3

Товары в названии которых (живой)
доставка - 3,4; оплата - 1,2,3

Остальные товары
доставка - 1,2,3,4; оплата - 1,2,3

#79 IFullHaus

IFullHaus

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

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

Отправлено 01 Июль 2016 - 21:39

Ап

#80 Vaccina

Vaccina

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

  • Модераторы
  • 24 370 сообщений

Отправлено 02 Июль 2016 - 07:10

Просмотр сообщенияcustomer8765 (13 Июнь 2016 - 15:27) писал:

Пытался сделать выбор способа доставки в зависимости от названия товара, вставил в Быстрый заказ код, но не заработало, шаблон ЛЕТО

$(function () {
  if ($('.deliveryRadio').length) {
$.get('/cart', function (content) {
  $(content).find('.cartForm .cartFormTbodyHeader').each(function () {
var goodsName = $.trim($(this).text());
$('.orderStageDeliveryListTable tbody').hide();
if (goodsName.indexOf('инолеум') !== - 1 || goodsName.indexOf('овролин') !== - 1 || goodsName.indexOf('трава') !== - 1) {
  $('.deliveryRadio[value="329340"], .deliveryRadio[value="327327"], .deliveryRadio[value="327525"]').closest('tbody').show();
} else {
  $('.deliveryRadio[value="327511"], .deliveryRadio[value="327525"], .deliveryRadio[value="326818"], .deliveryRadio[value="327326"], .deliveryRadio[value="327513"], .deliveryRadio[value="327519"], .deliveryRadio[value="329340"]').closest('tbody').show();
}
  });
});
  }
});
Извините за ожидание, уточните пожалуйста, ваш вопрос еще актуален?

Просмотр сообщенияIFullHaus (30 Июнь 2016 - 21:27) писал:

Здравствуйте.

варианты доставки:
почта с наложенным -1
почта обычная с предоплатой -2
почта 1 класс - 3
самовывоз - 4
варианты оплаты:
на карту Сбербанка -1
наложенным платежом -2
наличными при получении -3

Необходимо на всех товарах сделать "выберите способ доставки" и "выберите способ оплаты"
Прикрепленный файл что нужно убрать.JPG
Далее...
Товары в названии которых (самовывоз)
доставка - 4; оплата - 3

Товары в названии которых (живой)
доставка - 3,4; оплата - 1,2,3

Остальные товары
доставка - 1,2,3,4; оплата - 1,2,3

Вам необходимо для этого переделать старый код:
$(document).ready(function(){
  if($('.deliveryRadio').length) {
																$.get('/cart', function(content) {
																  $(content).find('.cartForm .cartFormTbodyHeader').each(function() {
																																var goodsName = $.trim($(this).text());
																																if(goodsName.indexOf('амовывоз') !== -1) {
								  $('.deliveryRadio[value="345883"], .deliveryRadio[value="346361"], .deliveryRadio[value="346362"]').hide();
																																}
																  });
																});
  }
});

по примеру с несколькими условиями он будет выглядеть следующим образом:
$(document).ready(function(){
  if($('.deliveryRadio').length) {
																$.get('/cart', function(content) {
																  $(content).find('.cartForm .cartFormTbodyHeader').each(function() {
																																var goodsName = $.trim($(this).text());
																																if(goodsName.indexOf('амовывоз') !== -1) {
								  $('.deliveryRadio[value="345883"], .deliveryRadio[value="346361"], .deliveryRadio[value="346362"]').hide();
																																}
if(goodsName.indexOf('живой') !== -1) {
								  $('.deliveryRadio[value="345883"], .deliveryRadio[value="346361"], .deliveryRadio[value="346362"]').hide();
																																}							  
																  });
																});
  }
});

идентификатор способа доставки вы можете просмотреть в url при его редактировании




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

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