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


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


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

#101 Сake

Сake

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

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

Отправлено 09 Сентябрь 2014 - 00:34

Попробуйте использовать следующий код в замен предыдущему

$(function () {
  $('[name="form[delivery][convenient_date]"]') .attr('readonly', true);
  var hour = (new Date()) .getHours();
  $('[name="form[delivery][convenient_time_from]"] option') .each(function () {
	if (parseInt($(this) .val()) < hour) {
	  $(this) .attr('disabled', true);
	}
  }) .filter('[value]:not(:disabled):first') .attr('selected', true) .parent() .change(function () {
	var timeFrom = parseInt($(this) .val());
	var timeInterval = 2;
	$('[name="form[delivery][convenient_time_to]"] option') .each(function () {
	  $(this) .removeAttr('disabled');
	  if (parseInt($(this) .val()) < (timeFrom + timeInterval)) {
		$(this) .attr('disabled', true);
	  }
	}) .filter('[value]:not(:disabled):first') .attr('selected', true) .parent() .trigger('change');
  }) .trigger('change');
  $('[name="form[delivery][convenient_time_to]"]') .change(function () {
	var deliverDate = $('#deliveryConvenientDate');
	var date = new Date();
	if (parseInt($(this) .val()) < 16) {
	  date.setDate(date.getDate() + 1);
	  deliverDate.datepicker('option', 'minDate', date);
	} else {
	  date.setDate(date.getDate() + 2);
	  deliverDate.datepicker('option', 'minDate', date);
	}
  }) .trigger('change');
});


#102 velena168

velena168

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

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

Отправлено 09 Сентябрь 2014 - 09:04

Просмотр сообщенияСake (12 Август 2014 - 03:12) писал:

Найдите в вашем файле main.js строку вида

firstDay	 : 1

и замените её на

firstDay	 : 1,
beforeShowDay : function(date) {return([date.getDay() != 0, ''])}

далее в самый конец файла добавьте код

$(function () {
$('[name="form[delivery][convenient_date]"]').attr('readonly', true);
$('[name="form[delivery][convenient_time_from]"]').change(function () {
var timeFrom = $(this).val();
var timeInterval = 2;
$('[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);
});
});

Воскресенье убрала, а можно сделать условие для субботы:
чтобы, если заказывают в пятницу после 12:00, то суббота была недоступна для заказа?

#103 Сake

Сake

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

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

Отправлено 09 Сентябрь 2014 - 23:52

Попробуйте использовать следующий код

$(function () {
$('[name="form[delivery][convenient_date]"]') .attr('readonly', true);
var hour = (new Date()) .getHours();
$('[name="form[delivery][convenient_time_from]"] option') .each(function () {
if (parseInt($(this) .val()) < hour) {
	 $(this) .attr('disabled', true);
}
}) .filter('[value]:not(:disabled):first') .attr('selected', true) .parent() .change(function () {
var timeFrom = parseInt($(this) .val());
var timeInterval = 2;
$('[name="form[delivery][convenient_time_to]"] option') .each(function () {
	 $(this) .removeAttr('disabled');
	 if (parseInt($(this) .val()) < (timeFrom + timeInterval)) {
	 $(this) .attr('disabled', true);
	 }
}) .filter('[value]:not(:disabled):first') .attr('selected', true) .parent() .trigger('change');
}) .trigger('change');
$('[name="form[delivery][convenient_time_to]"]') .change(function () {
var deliverDate = $('#deliveryConvenientDate');
var date = new Date();
if ((parseInt($(this) .val()) > 12 && date.getDay() == 5) || parseInt($(this) .val()) > 16) {
	 date.setDate(date.getDate() + 2);
} else {
	 date.setDate(date.getDate() + 1);
}
deliverDate.datepicker('option', 'minDate', date);
}) .trigger('change');
});


#104 velena168

velena168

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

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

Отправлено 10 Сентябрь 2014 - 00:04

Просмотр сообщенияСake (09 Сентябрь 2014 - 23:52) писал:

Попробуйте тогда использовать следующий код в замен предыдущему

$(function () {
$('[name="form[delivery][convenient_date]"]').attr('readonly', true);
var hour = (new Date()).getHours();
$('[name="form[delivery][convenient_time_from]"] option').each(function () {
	 if (parseInt($(this).val()) < hour) {
		 $(this).attr('disabled', true);
	 }
}).filter('[value!]:not(:disabled):first').attr('selected', true).parent().change(function () {
	 var timeFrom = parseInt($(this).val());
	 var timeInterval = 2;
	 $('[name="form[delivery][convenient_time_to]"] option').each(function () {
		 $(this).removeAttr('disabled');
		 if (parseInt($(this) .val()) < (timeFrom + timeInterval)) {
			 $(this).attr('disabled', true);
		 }
	 }).filter('[value!]:not(:disabled):first').attr('selected', true).parent().trigger('change');
}).trigger('change');
$('[name="form[delivery][convenient_time_to]"]').change(function () {
	 var deliverDate = $('#deliveryConvenientDate');
	 var date = new Date();
	 if ((parseInt($(this).val()) > 12 && date.getDay() == 5) || parseInt($(this).val()) > 16) {
		 date.setDate(date.getDate() + 2);
	 } else {
		 date.setDate(date.getDate() + 1);
	 }
	 deliverDate.datepicker('option', 'minDate', date);
}).trigger('change');
});
Сделала изменения, теперь на стр. .../order/stage/contacts  появилась

JS ошибка



#105 Сake

Сake

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

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

Отправлено 10 Сентябрь 2014 - 00:17

Форум при вставке кода по какой-то причине удаляет символ = в селекторе [value!]. Вы можете вручную в вставленном коде найти [value!] и заменить на [value!=]

#106 velena168

velena168

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

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

Отправлено 10 Сентябрь 2014 - 00:25

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

Форум при вставке кода по какой-то причине удаляет символ = в селекторе [value!]. Вы можете вручную в вставленном коде найти [value!] и заменить на [value!]
Заменила, все равно висит ошибка

А еще страница никак не может до конца загрузиться, внизу какой-то де тунт грузится

И из категории каталога не сделать Быстрый заказ, зависает.

Вернула назад

Прикрепленные изображения

  • Снимок1.PNG


#107 Сake

Сake

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

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

Отправлено 10 Сентябрь 2014 - 01:04

Вы меняли [value!] в 2х местах? Строки

.filter('[value!]:not(:disabled):first').attr('selected', true).parent().trigger('change');

и

.filter('[value!]:not(:disabled):first').attr('selected', true).parent().change(function ()

Вставленный вами код не влияет на скорость загрузки страницы.

Цитата

А еще страница никак не может до конца загрузиться, внизу какой-то де тунт грузится

Возможно у вас используется какой-то счетчик или плагин и сервер данного плагина не доступен или перегружен.

#108 velena168

velena168

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

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

Отправлено 10 Сентябрь 2014 - 01:20

Просмотр сообщенияСake (10 Сентябрь 2014 - 01:04) писал:

Вы меняли [value!] в 2х местах? Строки

.filter('[value!]:not(:disabled):first').attr('selected', true).parent().trigger('change');

и

.filter('[value!]:not(:disabled):first').attr('selected', true).parent().change(function ()

Меняла в Быстром заказе, т. к. у меня используется только Быстрый заказ.
Изменения оставила пока. Ошибка висит и из каталога не оформить

#109 Сake

Сake

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

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

Отправлено 10 Сентябрь 2014 - 01:29

В вашем шаблоне "Быстрый заказ" изменения были произведены. Селектор [value!=] был заменен на [value]. Проверьте результат.

#110 velena168

velena168

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

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

Отправлено 10 Сентябрь 2014 - 01:31

Просмотр сообщенияСake (10 Сентябрь 2014 - 01:29) писал:

В вашем шаблоне "Быстрый заказ" изменения были произведены. Селектор [value!] был заменен на [value!=""]. Проверьте результат.
Уже заметила. Все хорошо. Большое спасибо, Сake

#111 zabota-mama

zabota-mama

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

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

Отправлено 10 Сентябрь 2014 - 10:03

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

Попробуйте использовать следующий код в замен предыдущему

$(function () {
$('[name="form[delivery][convenient_date]"]') .attr('readonly', true);
var hour = (new Date()) .getHours();
$('[name="form[delivery][convenient_time_from]"] option') .each(function () {
if (parseInt($(this) .val()) < hour) {
	 $(this) .attr('disabled', true);
}
}) .filter('[value]:not(:disabled):first') .attr('selected', true) .parent() .change(function () {
var timeFrom = parseInt($(this) .val());
var timeInterval = 2;
$('[name="form[delivery][convenient_time_to]"] option') .each(function () {
	 $(this) .removeAttr('disabled');
	 if (parseInt($(this) .val()) < (timeFrom + timeInterval)) {
	 $(this) .attr('disabled', true);
	 }
}) .filter('[value]:not(:disabled):first') .attr('selected', true) .parent() .trigger('change');
}) .trigger('change');
$('[name="form[delivery][convenient_time_to]"]') .change(function () {
var deliverDate = $('#deliveryConvenientDate');
var date = new Date();
if (parseInt($(this) .val()) < 16) {
	 date.setDate(date.getDate() + 1);
	 deliverDate.datepicker('option', 'minDate', date);
} else {
	 date.setDate(date.getDate() + 2);
	 deliverDate.datepicker('option', 'minDate', date);
}
}) .trigger('change');
});

Сделал.
Тестирую 10.09.2014 в 10:56: щелкаю на дату - завтрашнее число (11-е) не доступно (что не ок) (скрин)

А должно быть: сегодня до 16-00 доступно завтра (и далее), сегодня после 16:00 (по Московскому серверному времени) доступно послезавтра (и далее кроме выходных).

Прикрепленные изображения

  • 1.png


#112 Сake

Сake

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

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

Отправлено 11 Сентябрь 2014 - 01:05

Если вам необходим интервал до 16:00 включительно, то замените стоку

if (parseInt($(this) .val()) < 16) {

на строку

if (parseInt($(this) .val()) <= 16) {


#113 zabota-mama

zabota-mama

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

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

Отправлено 11 Сентябрь 2014 - 17:51

Просмотр сообщенияСake (11 Сентябрь 2014 - 01:05) писал:

Если вам необходим интервал до 16:00 включительно, то замените стоку

if (parseInt($(this) .val()) < 16) {

на строку

if (parseInt($(this) .val()) <= 16) {

Вопрос не в этом.
Вопрос в том, что когда я тестировал 10.09.2014 в 10:56, то при выборе даты, должна быть доступно 11-е число. А оно дало только 12-е.

#114 Сake

Сake

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

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

Отправлено 12 Сентябрь 2014 - 00:25

Это происходит из-за того, что условие основывается в первую очередь на выбранном времени в поле ДО. Если выбрано время до 16, то срабатывает другое условие. Выше вам было предложено изменить условие, на включение в интервал 16 часов включительно. Если вам не нужно основываться на выбранном времени в поле ДО, то замените код

if (parseInt($(this) .val()) < 16) {
		 date.setDate(date.getDate() + 1);
		 deliverDate.datepicker('option', 'minDate', date);
} else {
		 date.setDate(date.getDate() + 2);
		 deliverDate.datepicker('option', 'minDate', date);
}

на

if (date.getHours() < 16) {
		 date.setDate(date.getDate() + 1);
		 deliverDate.datepicker('option', 'minDate', date);
} else {
		 date.setDate(date.getDate() + 2);
		 deliverDate.datepicker('option', 'minDate', date);
}


#115 zabota-mama

zabota-mama

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

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

Отправлено 12 Сентябрь 2014 - 11:33

Тестирую 12.09 в 12:27.
Дата доставки предлагается правильно 15.09, это то что нужно.
Но стала проблема со временем доставки, почему-то дает только диапазон с 15 до 21-00 (см.скрин 1)

Просьба допилить (см.скрин 2):
1. Сделать чтобы поле дата доставки не было серым - а то выглядит как будто для только чтения.
2. В поле дата доставки автоматом проставлялась предлагаемая дата (т.е. 15.09)
3. Время доставки автоматом не предлагалось.

Заранее спасибо!

Прикрепленные изображения

  • 5.png
  • 6.png


#116 Сake

Сake

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

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

Отправлено 13 Сентябрь 2014 - 00:47

Цитата

Но стала проблема со временем доставки, почему-то дает только диапазон с 15 до 21-00 (см.скрин 1)

Какой правильный или возможный диапазон в данном случае должен быть? Присутствует ли он в виде заблокированных полей?

1. Удалите строку

$('[name="form[delivery][convenient_date]"]') .attr('readonly', true);

2. Вы хотите чтобы подставлялась минимальная дата с учетом текущего времени?
3. Ранее вы задавали противоположный вопрос http://forum.storela..._80#entry156340 (вопрос 1).

#117 delph101

delph101

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

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

Отправлено 25 Сентябрь 2014 - 21:03

Добрый вечер!
Подскажите, как я могу решить следующую задачу:
Интернет-магазин осуществляет доставку продуктов только в субботу и воскресенье. Заказчик может осуществить заказ на субботу не позднее четверга 16-00, на воскресенье не позднее пятницы 16-00.
Отсюда вопрос, как реализовать данные условия.
1. В календаре выбора даты доставки клиент мог выбрать только сб и вс, будни должны быть серого цвета неактивны.
2. Если клиент осуществляет заказ до 16-00 четверга, то для него активны все последующие дни субботы и воскресенья.
3. Если клиент осуществляет заказ в промежуток между 16-00 четверга и 16-00 пятницы, для него активно только воскресенье текущей недели и сб и вс следующих недель.
4. Если клиент осуществляет заказ после 16-00 пятницы, для него неактивны сб и вс текущей недели.
5. Для выбора времени доставки было только два варианта "до 14-00" и "после 14-00"

Заранее премного благодарен за ответ :)

#118 delph101

delph101

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

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

Отправлено 07 Октябрь 2014 - 22:16

Товарищи скажите как сделать вот так:

Прикрепленные изображения

  • 2.jpg
  • 4.jpg


#119 Сake

Сake

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

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

Отправлено 11 Октябрь 2014 - 05:31

Найдите в вашем файле main.js код

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

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

var minDate = new Date();
  if ((minDate.getHours() >= 16 && minDate.getDay() == 4) || (minDate.getHours() <= 16 && minDate.getDay() == 5)) {
	minDate.setDate(minDate.getDate() + (minDate.getDay() == 4 ? 3 : 2));
  }
  $("#deliveryConvenientDate").datepicker({
				dayNames					: ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
				dayNamesMin			   : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
				closeText				   : 'Готово',
				currentText			   : 'Сегодня' ,
				duration					: '',
				monthNames				: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
				monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
				yearRange				   : "-6:+6",
				dateFormat				: 'dd.mm.yy',
				minDate		 : minDate,
				firstDay					: 1,
	beforeShowDay   : function(date) {return([date.getDay() == 0 || date.getDay() == 6, ''])}
		});

далее в шаблоне "Оформление заказа" или "Быстрый заказ" найдите код

<input id="deliveryConvenientDate" name="form[delivery][convenient_date]" value="{ORDER_FORM_DELIVERY_CONVENIENT_DATE}" {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}class="required"{% ENDIF %} />
					  c <select name="form[delivery][convenient_time_from]">
						<option></option>
						  {% FOR convenient_time_from_list %}
							<option value="{convenient_time_from_list.HOUR_INT}" {% IF convenient_time_from_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_from_list.HOUR}</option>
						  {% ENDFOR %}
						</select>
					  до
						<select name="form[delivery][convenient_time_to]">
						  <option></option>
						  {% FOR convenient_time_to_list %}
							<option value="{convenient_time_to_list.HOUR_INT}" {% IF convenient_time_to_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_to_list.HOUR}</option>
						  {% ENDFOR %}
						</select>

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

<input id="deliveryConvenientDate" name="form[delivery][convenient_date]" value="{ORDER_FORM_DELIVERY_CONVENIENT_DATE}" {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}class="required"{% ENDIF %} />
					  до <select name="form[delivery][convenient_time_from]">
						<option></option>
						  {% FOR convenient_time_from_list %}{% 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 %}{% ENDFOR %}
						</select>
					  после
						<select name="form[delivery][convenient_time_to]">
						  <option></option>
						  {% FOR convenient_time_to_list %}{% IF convenient_time_to_list.HOUR_INT = 14 %}
							<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>


#120 delph101

delph101

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

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

Отправлено 17 Октябрь 2014 - 09:21

Просмотр сообщенияСake (11 Октябрь 2014 - 05:31) писал:

Найдите в вашем файле main.js код

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

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

var minDate = new Date();
if ((minDate.getHours() >= 16 && minDate.getDay() == 4) || (minDate.getHours() <= 16 && minDate.getDay() == 5)) {
minDate.setDate(minDate.getDate() + (minDate.getDay() == 4 ? 3 : 2));
}
$("#deliveryConvenientDate").datepicker({
			 dayNames				 : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
			 dayNamesMin			 : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
			 closeText				 : 'Готово',
			 currentText			 : 'Сегодня' ,
			 duration				 : '',
			 monthNames			 : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
			 monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
			 yearRange				 : "-6:+6",
			 dateFormat			 : 'dd.mm.yy',
			 minDate		 : minDate,
			 firstDay				 : 1,
beforeShowDay : function(date) {return([date.getDay() == 0 || date.getDay() == 6, ''])}
	 });

далее в шаблоне "Оформление заказа" или "Быстрый заказ" найдите код

<input id="deliveryConvenientDate" name="form[delivery][convenient_date]" value="{ORDER_FORM_DELIVERY_CONVENIENT_DATE}" {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}class="required"{% ENDIF %} />
					 c <select name="form[delivery][convenient_time_from]">
					 <option></option>
						 {% FOR convenient_time_from_list %}
						 <option value="{convenient_time_from_list.HOUR_INT}" {% IF convenient_time_from_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_from_list.HOUR}</option>
						 {% ENDFOR %}
					 </select>
					 до
					 <select name="form[delivery][convenient_time_to]">
						 <option></option>
						 {% FOR convenient_time_to_list %}
						 <option value="{convenient_time_to_list.HOUR_INT}" {% IF convenient_time_to_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_to_list.HOUR}</option>
						 {% ENDFOR %}
					 </select>

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

<input id="deliveryConvenientDate" name="form[delivery][convenient_date]" value="{ORDER_FORM_DELIVERY_CONVENIENT_DATE}" {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}class="required"{% ENDIF %} />
					 до <select name="form[delivery][convenient_time_from]">
					 <option></option>
						 {% FOR convenient_time_from_list %}{% 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 %}{% ENDFOR %}
					 </select>
					 после
					 <select name="form[delivery][convenient_time_to]">
						 <option></option>
						 {% FOR convenient_time_to_list %}{% IF convenient_time_to_list.HOUR_INT = 14 %}
						 <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>

Просмотр сообщенияСake (11 Октябрь 2014 - 05:31) писал:

Найдите в вашем файле main.js код

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

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

var minDate = new Date();
if ((minDate.getHours() >= 16 && minDate.getDay() == 4) || (minDate.getHours() <= 16 && minDate.getDay() == 5)) {
minDate.setDate(minDate.getDate() + (minDate.getDay() == 4 ? 3 : 2));
}
$("#deliveryConvenientDate").datepicker({
			 dayNames				 : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
			 dayNamesMin			 : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
			 closeText				 : 'Готово',
			 currentText			 : 'Сегодня' ,
			 duration				 : '',
			 monthNames			 : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
			 monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
			 yearRange				 : "-6:+6",
			 dateFormat			 : 'dd.mm.yy',
			 minDate		 : minDate,
			 firstDay				 : 1,
beforeShowDay : function(date) {return([date.getDay() == 0 || date.getDay() == 6, ''])}
	 });

далее в шаблоне "Оформление заказа" или "Быстрый заказ" найдите код

<input id="deliveryConvenientDate" name="form[delivery][convenient_date]" value="{ORDER_FORM_DELIVERY_CONVENIENT_DATE}" {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}class="required"{% ENDIF %} />
					 c <select name="form[delivery][convenient_time_from]">
					 <option></option>
						 {% FOR convenient_time_from_list %}
						 <option value="{convenient_time_from_list.HOUR_INT}" {% IF convenient_time_from_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_from_list.HOUR}</option>
						 {% ENDFOR %}
					 </select>
					 до
					 <select name="form[delivery][convenient_time_to]">
						 <option></option>
						 {% FOR convenient_time_to_list %}
						 <option value="{convenient_time_to_list.HOUR_INT}" {% IF convenient_time_to_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_to_list.HOUR}</option>
						 {% ENDFOR %}
					 </select>

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

<input id="deliveryConvenientDate" name="form[delivery][convenient_date]" value="{ORDER_FORM_DELIVERY_CONVENIENT_DATE}" {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}class="required"{% ENDIF %} />
					 до <select name="form[delivery][convenient_time_from]">
					 <option></option>
						 {% FOR convenient_time_from_list %}{% 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 %}{% ENDFOR %}
					 </select>
					 после
					 <select name="form[delivery][convenient_time_to]">
						 <option></option>
						 {% FOR convenient_time_to_list %}{% IF convenient_time_to_list.HOUR_INT = 14 %}
						 <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>

К сожалению, по поводу первой замены, у меня нет этого блока в в main.js.
По второй замене, нашёл, заменил, но ничего не произошло, все осталось по-старому. В чём может быть проблема? как её можно решить?




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

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