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


Как Ограничить Время Доставки?


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

#241 Smailer

Smailer

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

  • Пользователи
  • PipPipPipPip
  • 661 сообщений
  • ГородВолгоград

Отправлено 21 Апрель 2016 - 18:15

Как нехорошо получается что вы пишете мы надеемся что вы правильно пишете а потом люди расстраиваются.


Изображение

Человек каким то образом сделал заказ сегодня аж в 17.30 на завтра как?!

#242 Vaccina

Vaccina

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

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

Отправлено 22 Апрель 2016 - 05:19

Просмотр сообщенияSmailer (17 Апрель 2016 - 14:57) писал:

Ну.. тут мы вообще убрали всю пятницу..
А надо к примеру убрать Конкретные даты, к примеру 22 и 26 числа - этого месяца
но чтобы все остальные даты были доступны для Выбора.
beforeShowDay   : function(date) {return([date.getDay() == 2 || date.getDay() == 5, ''])}

замените на:
beforeShowDay   : function(date) {return([(date.getDay() == 2 && date.getDate() != 26) || date.getDay() == 5, ''])}

Просмотр сообщенияSmailer (21 Апрель 2016 - 18:15) писал:

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

#243 Smailer

Smailer

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

  • Пользователи
  • PipPipPipPip
  • 661 сообщений
  • ГородВолгоград

Отправлено 22 Апрель 2016 - 18:49

Просмотр сообщенияVaccina (22 Апрель 2016 - 05:19) писал:

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

было два заказа вы можете посмотреть 307ой и 308 ой, и два эти заказа люди смогли сделать на следующий день а именно в 16.00 и 17.00, а у нас по условию стоит после 14.00 уже нельзя выбрать следующий день.
Навряд ли у обоих пользователей было настроено неправильно время.

--------

по поводу исключения дат..
beforeShowDay   : function(date) {return([(date.getDay() == 2 && date.getDate() != 26) || date.getDay() == 5, ''])}

тут понятно что 26 исключается, а как указанно что 22ое?

к примеру нужно будет исключить 17 и 20 июня
как это сделать ?

#244 Vaccina

Vaccina

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

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

Отправлено 23 Апрель 2016 - 01:34

Просмотр сообщенияSmailer (22 Апрель 2016 - 18:49) писал:

было два заказа вы можете посмотреть 307ой и 308 ой, и два эти заказа люди смогли сделать на следующий день а именно в 16.00 и 17.00, а у нас по условию стоит после 14.00 уже нельзя выбрать следующий день.
Навряд ли у обоих пользователей было настроено неправильно время.
Просмотрела ваш код, вы не сохранили изменения, о которых ранее у нас с вами вышел спор. В main.js найдите:
if(date.getHours() > 12 || date.getHours() < 23) {
								  date.setDate(date.getDate() + 1);
   }

замените на:
if(date.getHours() > 12 || date.getHours() < 23) {
								  date.setDate(date.getDate() + 2);
   }

Просмотр сообщенияSmailer (22 Апрель 2016 - 18:49) писал:

по поводу исключения дат..
beforeShowDay   : function(date) {return([(date.getDay() == 2 && date.getDate() != 26) || date.getDay() == 5, ''])}

тут понятно что 26 исключается, а как указанно что 22ое?

к примеру нужно будет исключить 17 и 20 июня
как это сделать ?
В main.js найдите:
beforeShowDay   : function(date) {return([date.getDay() == 2 || date.getDay() == 5, ''])}

замените на:
beforeShowDay: function(date) {
		  if (date.getMonth() == 5 && date.getDate() == 17) {
			return ([false, '']);
		  }
	if (date.getMonth() == 5 && date.getDate() == 20) {
			return ([false, '']);
		  }
		  return([date.getDay() == 2 || date.getDay() == 5, '']);
		}


#245 Smailer

Smailer

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

  • Пользователи
  • PipPipPipPip
  • 661 сообщений
  • ГородВолгоград

Отправлено 23 Апрель 2016 - 13:29

Просмотр сообщенияVaccina (23 Апрель 2016 - 01:34) писал:


В main.js найдите:
beforeShowDay : function(date) {return([date.getDay() == 2 || date.getDay() == 5, ''])}

замените на:
beforeShowDay: function(date) {
		 if (date.getMonth() == [u][b][color=#ff0000]5[/color][/b][/u] && date.getDate() == 17) {
		 return ([false, '']);

	 }

тоесть мы ставим -1 месяц тоесть если месяц 8ой мы ставим цифру 7 ?

#246 Vaccina

Vaccina

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

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

Отправлено 26 Апрель 2016 - 02:04

Все верно =)

#247 Smailer

Smailer

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

  • Пользователи
  • PipPipPipPip
  • 661 сообщений
  • ГородВолгоград

Отправлено 11 Май 2016 - 14:10

Изображение

.. пытался ранее сделать заказ 9 го в 10 утра, но почему то выбрать 10ое уже немог хотя по нашим условиям там стоит время 12 или 14 часов. а тут всего лишь 10 и уже нельзя..
и то даже не 10 а начало 10го.. 9 с копейками.. даже 10ти нету..

#248 Smailer

Smailer

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

  • Пользователи
  • PipPipPipPip
  • 661 сообщений
  • ГородВолгоград

Отправлено 13 Май 2016 - 16:57

.

#249 Vaccina

Vaccina

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

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

Отправлено 19 Май 2016 - 03:32

В main.js попробуйте следующее, найдите:
if(date.getHours() > 12 || date.getHours() < 23) {
																  date.setDate(date.getDate() + 2);
   }

замените на:
if(date.getHours() > 12 && date.getHours() < 23) {
																  date.setDate(date.getDate() + 2);
   }


#250 SteelPower

SteelPower

    Новичок

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

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

Добрый день! Можете мне помочь с интегрированием календаря, диапазонов доставки, а также выходных дней в оформление заказа?

#251 Vaccina

Vaccina

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

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

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

Распишите пожалуйста подробнее вопросы, укажите точные диапазоны, которые должны быть предоставлены клиенту для выбора.

#252 SteelPower

SteelPower

    Новичок

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

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

Допустим диапазон с 10 до 15, 10 до 18, 14 до 18, с 18 до 22.

#253 Vaccina

Vaccina

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

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

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

Простите за ожидание, немного не понятны данные промежутки:

Цитата

с 10 до 15, 10 до 18
В инструкции ниже я совместила их на всякий случай.

В шаблоне Быстрый заказ найдите:
<li class="fields">
			  <label for="quickDeliveryConvenientDate" {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}class="required"{% ENDIF %}>Удобное время доставки{% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}<em>*</em>{% ENDIF %}</label>
			  <div class="input-box">
				c
			  <!-- старый срок  <select class="form-select" name="form[delivery][convenient_time_from]">
				  <option></option>
				  {% FOR convenient_time_from_list %}
{%IF convenient_time_from_list.HOUR_INT>9%}{%IF convenient_time_from_list.HOUR_INT<23%}
<option value="{convenient_time_from_list.HOUR_INT}" {% IF convenient_time_from_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_from_list.HOUR}</option>
{%ENDIF%}{%ENDIF%}
{% ENDFOR %}
</select>
до
<select name="form[delivery][convenient_time_to]">
<option></option>
{% FOR convenient_time_to_list %}
{%IF convenient_time_to_list.HOUR_INT>9%}{%IF convenient_time_to_list.HOUR_INT<23%}
<option value="{convenient_time_to_list.HOUR_INT}" {% IF convenient_time_to_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_to_list.HOUR}</option>
{%ENDIF%}{%ENDIF%}
{% ENDFOR %}
</select> -->
<select class="time_from form-select" onchange="document.getElementById('time_to').value=$(this).find(':selected').attr('data-id');document.getElementById('time_to').text=$(this).find(':selected').attr('data-id'); " name="form[delivery][convenient_time_from]">
				  <option></option>
								 <option value="10" data-id="15"> 10</option>
				<option value="14" data-id="18"> 14</option>
				  <option value="18" data-id="22"> 18</option>
				</select>
				до
				<select class="time_to form-select" name="form[delivery][convenient_time_to]">
				  <option></option>
					<option id="time_to" value="" ></option>
				 </select>
			   
			  </div>
			</li> 

замените на:
<li class="fields">
			  <label for="quickDeliveryConvenientDate" {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}class="required"{% ENDIF %}>Удобное время доставки{% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}<em>*</em>{% ENDIF %}</label>
			  <div class="input-box">
				c
			  <select class="time_from form-select" onchange="document.getElementById('time_to').value=$(this).find(':selected').attr('data-id');document.getElementById('time_to').text=$(this).find(':selected').attr('data-id'); " name="form[delivery][convenient_time_from]">
				   <option></option>
						{% FOR convenient_time_from_list %}
						{% IF convenient_time_from_list.HOUR_INT=10 %}<option value="{convenient_time_from_list.HOUR_INT}" {% IF convenient_time_from_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_from_list.HOUR}</option>{% ENDIF %}
						{% IF convenient_time_from_list.HOUR_INT=14 %}<option value="{convenient_time_from_list.HOUR_INT}" {% IF convenient_time_from_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_from_list.HOUR}</option>{% ENDIF %}
						{% IF convenient_time_from_list.HOUR_INT=18 %}<option value="{convenient_time_from_list.HOUR_INT}" {% IF convenient_time_from_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_from_list.HOUR}</option>{% ENDIF %}
						{% ENDFOR %}
				</select>
				до
				<select class="time_to form-select" name="form[delivery][convenient_time_to]">
				  <option></option>
						{% FOR convenient_time_to_list %}
						{% IF convenient_time_to_list.HOUR_INT=15 %}<option value="{convenient_time_to_list.HOUR_INT}" {% IF convenient_time_to_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_to_list.HOUR}</option>{% ENDIF %}
						{% IF convenient_time_to_list.HOUR_INT=18 %}<option value="{convenient_time_to_list.HOUR_INT}" {% IF convenient_time_to_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_to_list.HOUR}</option>{% ENDIF %}
						{% IF convenient_time_to_list.HOUR_INT=22 %}<option value="{convenient_time_to_list.HOUR_INT}" {% IF convenient_time_to_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_to_list.HOUR}</option>{% ENDIF %}
						{% ENDFOR %}
				 </select>
			   
			  </div>
			</li> 


#254 Smailer

Smailer

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

  • Пользователи
  • PipPipPipPip
  • 661 сообщений
  • ГородВолгоград

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

Как из календаря доставки убрать 29.07 и 05.08 числа доставки?
чтобы их нельзя было выбрать
то есть именно этот диапазон)

#255 Stasya

Stasya

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

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

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

Просмотр сообщенияSmailer (20 Июль 2016 - 10:50) писал:

Как из календаря доставки убрать 29.07 и 05.08 числа доставки?
чтобы их нельзя было выбрать
то есть именно этот диапазон)

В файле main.js найдите блок
var date = new Date();
   if(date.getHours() > 12 && date.getHours() < 23) {
																																  date.setDate(date.getDate() + 2);
   }

  $("#deliveryConvenientDate").datepicker({
								dayNames										: ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
								dayNamesMin						: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
								closeText								  : 'Готово',
								currentText						: 'Сегодня' ,
								duration										: '',
								monthNames							  : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
								monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
						   yearRange																 : "-6:+6",
																dateFormat														: 'dd.mm.yy',
																minDate		   : date,
																firstDay																				: 1,
																showOtherMonths: true,
																selectOtherMonths: true,
		beforeShowDay   : function(date) {return([date.getDay() == 2 || date.getDay() == 5, ''])}
				});
и замените его на
var disabledDays = ["7-29-2016","8-5-2016"];
function disableAllTheseDays(date) {
	var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
	for (i = 0; i < disabledDays.length; i++) {
		if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) != -1) {
			return [false];
		}else{
		  return([date.getDay() == 2 || date.getDay() == 5, ''])
		}
	}
	return [true];
}
var date = new Date();
if(date.getHours() > 12 && date.getHours() < 23) {
date.setDate(date.getDate() + 2);
}

$("#deliveryConvenientDate").datepicker({
dayNames: ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
dayNamesMin: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
closeText: 'Готово',
currentText: 'Сегодня' ,
duration: '',
monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
yearRange: "-6:+6",
dateFormat: 'dd.mm.yy',
minDate: date,
firstDay: 1,
showOtherMonths: true,
selectOtherMonths: true,
beforeShowDay: disableAllTheseDays
});


#256 Smailer

Smailer

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

  • Пользователи
  • PipPipPipPip
  • 661 сообщений
  • ГородВолгоград

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

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

В файле main.js найдите блок
var date = new Date();
if(date.getHours() > 12 && date.getHours() < 23) {
																																 date.setDate(date.getDate() + 2);
}

$("#deliveryConvenientDate").datepicker({
							 dayNames									 : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
							 dayNamesMin					 : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
							 closeText								 : 'Готово',
							 currentText					 : 'Сегодня' ,
							 duration									 : '',
							 monthNames							 : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
							 monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
						 yearRange																 : "-6:+6",
															 dateFormat													 : 'dd.mm.yy',
															 minDate		 : date,
															 firstDay																			 : 1,
															 showOtherMonths: true,
															 selectOtherMonths: true,
	 beforeShowDay : function(date) {return([date.getDay() == 2 || date.getDay() == 5, ''])}
			 });
и замените его на
var disabledDays = ["7-29-2016","8-5-2016"];
function disableAllTheseDays(date) {
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
for (i = 0; i < disabledDays.length; i++) {
	 if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) != -1) {
		 return [false];
	 }else{
		 return([date.getDay() == 2 || date.getDay() == 5, ''])
	 }
}
return [true];
}
var date = new Date();
if(date.getHours() > 12 && date.getHours() < 23) {
date.setDate(date.getDate() + 2);
}

$("#deliveryConvenientDate").datepicker({
dayNames: ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
dayNamesMin: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
closeText: 'Готово',
currentText: 'Сегодня' ,
duration: '',
monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
yearRange: "-6:+6",
dateFormat: 'dd.mm.yy',
minDate: date,
firstDay: 1,
showOtherMonths: true,
selectOtherMonths: true,
beforeShowDay: disableAllTheseDays
});

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

В файле main.js найдите блок
var date = new Date();
if(date.getHours() > 12 && date.getHours() < 23) {
																																 date.setDate(date.getDate() + 2);
}

$("#deliveryConvenientDate").datepicker({
							 dayNames									 : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
							 dayNamesMin					 : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
							 closeText								 : 'Готово',
							 currentText					 : 'Сегодня' ,
							 duration									 : '',
							 monthNames							 : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
							 monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
						 yearRange																 : "-6:+6",
															 dateFormat													 : 'dd.mm.yy',
															 minDate		 : date,
															 firstDay																			 : 1,
															 showOtherMonths: true,
															 selectOtherMonths: true,
	 beforeShowDay : function(date) {return([date.getDay() == 2 || date.getDay() == 5, ''])}
			 });
и замените его на
var disabledDays = ["7-29-2016","8-5-2016"];
function disableAllTheseDays(date) {
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
for (i = 0; i < disabledDays.length; i++) {
	 if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) != -1) {
		 return [false];
	 }else{
		 return([date.getDay() == 2 || date.getDay() == 5, ''])
	 }
}
return [true];
}
var date = new Date();
if(date.getHours() > 12 && date.getHours() < 23) {
date.setDate(date.getDate() + 2);
}

$("#deliveryConvenientDate").datepicker({
dayNames: ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
dayNamesMin: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
closeText: 'Готово',
currentText: 'Сегодня' ,
duration: '',
monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
yearRange: "-6:+6",
dateFormat: 'dd.mm.yy',
minDate: date,
firstDay: 1,
showOtherMonths: true,
selectOtherMonths: true,
beforeShowDay: disableAllTheseDays
});

почти все отлично только почему то 5 Августа не дсотупно но при это доступно 3.08 нужно хотябы чтобы 3.08 го небыло а 5 ое было

#257 Stasya

Stasya

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

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

Отправлено 20 Июль 2016 - 18:24

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

почти все отлично только почему то 5 Августа не дсотупно но при это доступно 3.08 нужно хотябы чтобы 3.08 го небыло а 5 ое было
Изменять недоступные даты Вы можете в строке
var disabledDays = ["7-29-2016","8-5-2016"];

Дата здесь записана в формате месяц- число-год
Т.е. Вам нужно в этой строке заменить дату на "8-3-2016". Если Вы хотите добавить еще какую-либо дату, вам нужно через запятую, в кавычках указать ее в том же формате ("м-д-г").

#258 frog53

frog53

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

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

Отправлено 18 Август 2016 - 10:53

Здравствуйте! Помогите ! Аккаунт 318280, шаблон Город.

Перечитал всю ветку сделал изменения, но они не появились на сайте, а именно:
Вставил код в main.js для задания интервала в рамках 3 часа, но интервал так и не задаётся:
$(function () {
  $('[name="form[delivery][convenient_date]"]').attr('readonly', true);
  $('[name="form[delivery][convenient_time_from]"]').change(function () {
var timeFrom = $(this).val();
var timeInterval = 3;
$('[name="form[delivery][convenient_time_to]"] option').each(function () {
  $(this).removeAttr('disabled');
  if (parseInt($(this).val()) < (parseInt(timeFrom) + timeInterval)) {
$(this).attr('disabled', true);
  }
}).filter(':first').attr('selected', true);
  });
});

Далее вставил код в main.js для невозможности выбора более раннего времени "до" если выбрано время "с", но время не слушается.


$(function(){
$('.from_date').change(function(){
var from_date = parseInt($(this).val());
$(".to_date option").each(function(){
var to_date = parseInt($(this).val());
if(to_date < from_date){
  $(this).prop('disabled', true);
}
});
}).trigger('change');
});

#259 Vaccina

Vaccina

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

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

Отправлено 19 Август 2016 - 06:37

Распишите пожалуйста подробнее, какой результат вы хотите получить по полям Даты и Времени заказа?

#260 Stasya

Stasya

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

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

Отправлено 19 Август 2016 - 10:24

Просмотр сообщенияfrog53 (18 Август 2016 - 10:53) писал:

Здравствуйте! Помогите ! Аккаунт 318280, шаблон Город.

Перечитал всю ветку сделал изменения, но они не появились на сайте, а именно:
Вставил код в main.js для задания интервала в рамках 3 часа, но интервал так и не задаётся:
$(function () {
  $('[name="form[delivery][convenient_date]"]').attr('readonly', true);
  $('[name="form[delivery][convenient_time_from]"]').change(function () {
var timeFrom = $(this).val();
var timeInterval = 3;
$('[name="form[delivery][convenient_time_to]"] option').each(function () {
  $(this).removeAttr('disabled');
  if (parseInt($(this).val()) < (parseInt(timeFrom) + timeInterval)) {
$(this).attr('disabled', true);
  }
}).filter(':first').attr('selected', true);
  });
});

Далее вставил код в main.js для невозможности выбора более раннего времени "до" если выбрано время "с", но время не слушается.


$(function(){
$('.from_date').change(function(){
var from_date = parseInt($(this).val());
$(".to_date option").each(function(){
var to_date = parseInt($(this).val());
if(to_date < from_date){
  $(this).prop('disabled', true);
}
});
}).trigger('change');
});

Здравствуйте. Вы хотите чтобы покупатель мог выбрать время С, но тогда время До было не раньше чем + 3  и более часов. Например, если покупатель выбирает с 14:00, то в поле До можно было бы выбрать только 17:00 и позднее, т.е. +3 часа ко времени С. Если я Вас правильно поняла, то в таком случае Вам необходимо в шаблоне Быстрый заказ найти строки
<!-- Если поле даты доставки запрашивается -->
		 {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME < 3 %}
и перед ними вставить блок
<script>
		 function fromTimeBlock(){
			 var from_date = parseInt($('.from_date').val());
			 $(".to_date option").each(function(){
					 var to_date = parseInt($(this).val());
					 console.log(to_date);
					 if(to_date < (from_date + 3)){
						 $(this).attr('disabled', 'disabled');
					 }
			 });
			
		 }
		 </script>
Далее находим строку
<select class="inputText" name="form[delivery][convenient_time_from]">
и заменяем ее на
<select class="inputText from_date" name="form[delivery][convenient_time_from]" onchange="fromTimeBlock()">

Так же найдем строку
<select class="inputText" name="form[delivery][convenient_time_to]">
и заменим ее на
<select class="inputText to_date" name="form[delivery][convenient_time_to]">

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




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

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