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


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


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

#141 velena168

velena168

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

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

Отправлено 14 Ноябрь 2014 - 10:18

Большое спасибо, Vaccina. Все получилось.

#142 prukon

prukon

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

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

Отправлено 29 Январь 2015 - 21:51

Просмотр сообщенияsupport 2.0 (22 Ноябрь 2012 - 11:14) писал:

Вам нужно зайти в Панель управления -> Сайт -> Редактор тем -> файл Оформление заказа
Найдите блок
<!-- Если запрашивается поле удобного времени доставки -->
{% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME<3 %}
<tr>
<td width="10%">
<label for="deliveryConvenientDate">Удобное время доставки:{% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}<span class="red">*</span>{% ENDIF %}</label>
</td>
<td width="90%">
<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>
</td>
</tr>
{% ENDIF %}
и замените на
<!-- Если запрашивается поле удобного времени доставки -->
{% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME<3 %}
<tr>
<td width="10%">
<label for="deliveryConvenientDate">Удобное время доставки:{% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}<span class="red">*</span>{% ENDIF %}</label>
</td>
<td width="90%">
<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 %}
						
{% IF convenient_time_from_list.HOUR_INT=9 %}<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 %}
							{% 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%}
{%IF convenient_time_to_list.HOUR_INT=20%}<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>
</td>
</tr>



{% ENDIF %}

Возможно у меня другой шаблон, но мне нужно проделать аналогичную операцию, но блока с указанным кодом у себя на сайте я не нахожу.
Пожалуйста, уточните какие мне необходимо внести изменения для разделения временных промежутков с 13:00-18:00 и с 18:00-21:00
Заранее спасибо!

#143 Vaccina

Vaccina

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

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

Отправлено 30 Январь 2015 - 03:43

Уточните пожалуйста, вы хотите, чтобы в поле "с" было только два значения 13 и 18 и в поле "до" только 18 и 21 или необходимо отобразить все временные промежутки внутри этих диапазонов?

#144 prukon

prukon

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

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

Отправлено 30 Январь 2015 - 04:31

Вот такая реализация была бы наиболее удобной. Только значения с 13:00-18:00 и 18:00-21:00. И значения времени const чтобы были.

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

  • Снимок-экрана-2015-01-30-в-4.24.06.png


#145 prukon

prukon

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

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

Отправлено 30 Январь 2015 - 16:16

Это возможно сделать?

#146 Vaccina

Vaccina

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

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

Отправлено 03 Февраль 2015 - 04:32

Найдите в шаблоне Быстрый заказ следующий код

<li class="fields">
								<div class="field">
									<div class="input-box">
										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>
									</div>
								</div>
							</li>

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

<style>.dlivery-sdate{margin:5px 0}.dlivery-sdate input{float: none !important;}</style>
							<li class="fields dlivery-sdate">
								<div class="field">
									<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 <input type="radio" name="form[delivery][convenient-time]" data-from="13" data-to="18" checked />
										<input type="text" name="form[delivery][time-from]" value="13:00" readonly />
									  до <input type="text" name="form[delivery][time-to]" value="18:00" readonly />
									</div>
								</div>
								<input type="hidden" name="form[delivery][convenient_time_from]" value="13" />
							</li>
							<li class="fields dlivery-sdate">
								<div class="field">
									<div class="input-box">
									  c  <input type="radio" name="form[delivery][convenient-time]" data-from="18" data-to="21" />
										<input type="text" name="form[delivery][time-from]" value="18:00" readonly />
									  до <input type="text" name="form[delivery][time-to]" value="21:00" readonly />
									</div>
								</div>
								<input type="hidden" name="form[delivery][convenient_time_to]" value="18" />
							</li>
<script>
$(function() {
  $('[name="form[delivery][convenient-time]"]').click(function() {
	$('[name="form[delivery][convenient_time_from]"]').val($(this).data('from'));
	$('[name="form[delivery][convenient_time_to]"]').val($(this).data('to'));
  });
});
</script>


#147 prukon

prukon

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

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

Отправлено 03 Февраль 2015 - 05:50

Внес изменения. Ничего не произошло.

#148 Vaccina

Vaccina

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

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

Отправлено 03 Февраль 2015 - 05:57

В шаблоне Быстрый заказ попробуйте удалить:
  <!-- Если поле области запрашивается -->
						{% IF SETTINGS_ORDER_FIELDS_REGION<3 %}

и после:
<script>
$(function() {
  $('[name="form[delivery][convenient-time]"]').click(function() {
		$('[name="form[delivery][convenient_time_from]"]').val($(this).data('from'));
		$('[name="form[delivery][convenient_time_to]"]').val($(this).data('to'));
  });
});
</script>

удалите следующий код:
{% ENDIF %}


#149 prukon

prukon

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

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

Отправлено 03 Февраль 2015 - 06:10

Поле добавилось.
1. Как теперь удалить повторное поле "Удобное время доставки"
2. Как перенести поле "Удобная дата доставки" перед полем "Удобное время доставки".

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

  • Снимок экрана 2015-02-03 в 6.09.22.png


#150 Vaccina

Vaccina

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

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

Отправлено 03 Февраль 2015 - 06:15

В инструкции выше описывалась замена кода на новый, вы, скорее всего, установили новый код не удаляя старый, в нем нет надобности, можно удалить, а лучше вместо старого кода перенести и установить новый, в этом случае и дубликат исчезнет и выбор даты доставки будет выше времени

#151 prukon

prukon

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

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

Отправлено 03 Февраль 2015 - 07:14

Все отлично! Спасибо!
А как сделать ограничение выбора даты только с завтрашнего дня. Т.е чтобы сегодняшняя дата и прошедшие даты выбрать было невозможным.

#152 Vaccina

Vaccina

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

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

Отправлено 03 Февраль 2015 - 07:26

Для начала, необходимо установить библиотеку календаря, чтобы далее его можно было редактировать.
Инструкция по установке:
http://forum.storela...120#entry167585

#153 prukon

prukon

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

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

Отправлено 05 Февраль 2015 - 02:57

Добавил календарь.
Как теперь сделать выбор даты только с завтрашнего дня. Т.е чтобы сегодняшняя дата и прошедшие даты выбрать было невозможным.

#154 Vaccina

Vaccina

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

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

Отправлено 05 Февраль 2015 - 04:47

Далее в шаблоне Быстрый заказ найдите:
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));
  }
и замените его на:
var minDate = new Date();
date.setDate(date.getDate() + 1);


#155 prukon

prukon

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

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

Отправлено 06 Февраль 2015 - 01:33

Внес изменения, возможность оформить заказ задним числом осталась :(

#156 Vaccina

Vaccina

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

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

Отправлено 06 Февраль 2015 - 04:56

Найдите в шаблоне Быстрый заказ код

<script>
$(function() {
var minDate = new Date();
date.setDate(date.getDate() + 1);
  $("#quickDeliveryConvenientDate").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, ''])}
  });
});
</script>

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

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


#157 prukon

prukon

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

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

Отправлено 07 Февраль 2015 - 01:12

Внес изменения, проблема осталась.

#158 Vaccina

Vaccina

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

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

Отправлено 07 Февраль 2015 - 07:27

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

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


#159 prukon

prukon

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

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

Отправлено 08 Февраль 2015 - 13:23

Внес изменения, проблема осталась.

#160 prukon

prukon

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

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

Отправлено 12 Февраль 2015 - 17:31

Пожалуйста, помогите решить проблему.




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

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