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


Ошибка В Оформлении Заказа. Осень


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

#1 velena168

velena168

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

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

Отправлено 22 Октябрь 2013 - 13:33

Кошмар с зонами доставки.
При выборе зоны сумма  не меняется, правда оформляется правильно, но на 2 шаге этого не видно.

Метровый список зон в этом шаблоне можно убрать как это можно было в Сиянии?
Больше всего "нравится" что можно выбрать Доставку по 87 городам России за 0 рублей

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

  • Снимок6.PNG
  • Снимок8.PNG
  • Снимок7.PNG


#2 Stasya

Stasya

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

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

Отправлено 22 Октябрь 2013 - 22:47

Об этой ошибке мы уже знаем. Разработчики обязательно доработают шаблон в ближайшее время.
Чтобы реализовать зоны доставки выпадающим списком Вам нужно в шаблоне Оформление заказа найти блок
<!-- Шаг 2. Доставка -->
	 {% ELSEIF ORDER_STAGE_NUM=2%}
	 <div class="order_carrier_content">
		 <h3 class="title" title="Выберите удобный для вас способ доставки">Cпособ доставки</h3>
		 <div class="order_carrier_wrapper">
		 <div class="delivery_options_address">
			 <div class="delivery_options_title">Выберите способ доставки</div>
			 <table class="orderStageDeliveryListTable resume">
			 {% FOR order_delivery %}
				 <tbody rel="{order_delivery.ID}">
				 <tr {% IF order_delivery.first %}class="first"{% ENDIF %}>
					 <td class="cell1" rowspan="2">
					 <input type="radio" id="deliveryId{order_delivery.ID}" name="form[delivery][id]" value="{order_delivery.ID}" class="required deliveryRadio"
						 {% IFNOT ORDER_FORM_DELIVERY_ID %}
						 {% IF order_delivery.first %}
							 checked="checked"
						 {% ENDIF %}
						 {% ELSEIF order_delivery.ID = ORDER_FORM_DELIVERY_ID %}
						 checked="checked"
						 {% ENDIF %}
					 />
					 </td>
					 <td class="cell2">
					 <label for="deliveryId{order_delivery.ID}" class="delivery_option_title">{order_delivery.NAME}</label>
					 </td>
					 <td rowspan="2" class="cell3 price">
					 <span class="delivery_option_price" {% IF order_delivery.ZONE_ID>0 %}style="display:none;"{% ENDIF%}>{order_delivery.END_PRICE | money_format}</span>
					 <span class="delivery_option_price" {% IF order_delivery.ZONE_ID<1 %}style="display:none;"{% ENDIF%}>{order_delivery.ZONE_END_PRICE | money_format}</span>
					 </td>
				 </tr>
				 <tr>
					 <td class="cell4"><p class="delivery_option_delay">{order_delivery.DESC}</p></td>
				 </tr>
				 {% IFNOT order_delivery.zone_list_empty %}
					 {% FOR zone_list %}
					 <tr class="zones ">
						 <td></td>
						 <td>
						 <!-- Заголовок внутри метода доставки, появляется только один раз-->
						 {% IF order_delivery.zone_list.index=1 %}
							 <label for="deliveryId{order_delivery.ID}" class="delivery_option_title">Зоны доставки</label><br />
						 {% ENDIF %}
						 </td>
						 <td></td>
					 </tr>
					 <tr>
						 <td></td>
						 <td>
						 <input
							 type="radio" class="deliveryZoneRadio" deliveryid="{order_delivery.ID}" id="deliveryZoneId{order_delivery.zone_list.ID}" name="form[delivery][zone_id]" value="{order_delivery.zone_list.ID}"
							 {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}
							 checked="checked" rel="true"
							 {% ENDIF %}
						 />
						 <label class="orderStageDeliveryZoneLabel delivery_option_delay" for="deliveryZoneId{order_delivery.zone_list.ID}">
							 {order_delivery.zone_list.NAME}
							 <span class="delivery_option_price">{order_delivery.zone_list.END_PRICE | money_format}</span>
						 </label>
						 </td>
						 <td></td>
					 </tr>
					 {% ENDFOR %}
				 {% ENDIF %}
				 </tbody>
			 {% ENDFOR %}
			 </table>
		 </div>
и заменить его на
<!-- Шаг 2. Доставка -->
	 {% ELSEIF ORDER_STAGE_NUM=2%}
	 <div class="order_carrier_content">
		 <h3 class="title" title="Выберите удобный для вас способ доставки">Cпособ доставки</h3>
		 <div class="order_carrier_wrapper">
		 <div class="delivery_options_address">
			 <div class="delivery_options_title">Выберите способ доставки</div>
			 <div class="orderInfo">
			 <table class="orderStageDeliveryListTable resume">
			 {% FOR order_delivery %}
				 <tbody rel="{order_delivery.ID}">
				 <tr {% IF order_delivery.first %}class="first"{% ENDIF %}>
					 <td class="cell1" rowspan="2">
					 <input type="radio" id="deliveryId{order_delivery.ID}" name="form[delivery][id]" value="{order_delivery.ID}" class="required deliveryRadio"
						 {% IFNOT ORDER_FORM_DELIVERY_ID %}
						 {% IF order_delivery.first %}
							 checked="checked"
						 {% ENDIF %}
						 {% ELSEIF order_delivery.ID = ORDER_FORM_DELIVERY_ID %}
						 checked="checked"
						 {% ENDIF %}
					 />
					 </td>
					 <td class="cell2">
					 <label for="deliveryId{order_delivery.ID}" class="delivery_option_title">{order_delivery.NAME}</label>
					 </td>
					 <td rowspan="2" class="cell3 price">
					 <span class="delivery_option_price" {% IF order_delivery.ZONE_ID>0 %}style="display:none;"{% ENDIF%}>{order_delivery.END_PRICE | money_format}</span>
					 <span class="delivery_option_price" {% IF order_delivery.ZONE_ID<1 %}style="display:none;"{% ENDIF%}>{order_delivery.ZONE_END_PRICE | money_format}</span>
					 </td>
				 </tr>
				 <tr>
					 <td class="cell4"><p class="delivery_option_delay">{order_delivery.DESC}</p></td>
				 </tr>
				 {% IFNOT order_delivery.zone_list_empty %}
								 <tr>
										 <td></td>
										 <td class="cell5">
										 <select style="margin-left:0;" class="deliveryZoneRadio" deliveryid="{order_delivery.ID}" name="form[delivery][zone_id]" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}class="required"{% ENDIF %}>
												 <option value="0" data-price="{order_delivery.END_PRICE | number_format("0", ",", " ")}"> - выберите зону доставки - </option>
												 {% FOR zone_list %}
												 <option value="{order_delivery.zone_list.ID}" price="{order_delivery.zone_list.END_PRICE | number_format("0", ",", " ")}" {% IF order_delivery.zone_list.ID=ORDER_FORM_DELIVERY_ZONE_ID %}selected="selected"{% ENDIF %}>
														 {order_delivery.zone_list.NAME}
												 </option>
												 {%ENDFOR%}
										 </select>
										 </td>
								 </tr>
								 {% ENDIF %}
				 </tbody>
			 {% ENDFOR %}
			 </table>
			 </div>
		 </div>

Затем в файле main.js найдите блок
// Действия при выборе варианта доставки на этапе оформления заказа
$('.deliveryRadio').click(function(){

// Если текущая выделенная зона доставки не относится к выбранному варианту доставки, снимаем выделение с зоны доставки
if($('.deliveryZoneRadio:checked').attr('deliveryid') != $(this).val()) {
	 $('.deliveryZoneRadio:checked').click().attr('checked', false);
}
});
и после него вставьте блок
// Смена стоимости доставки при выборе конкретной зоны доставки
$('.orderInfo select').change(function(){
var value = $(this).find('option:selected').attr('price');
$('tbody[rel="' + $(this).attr('deliveryid') + '"] .delivery_option_price .num').text(value);
// Установка шарика на пункт зоны доставки
$('#deliveryId' + $(this).attr('deliveryid')).click();
});

$(function() {
  if($('.deliveryRadio').length) {
		 $('.deliveryRadio:checked').closest('form').submit(function() {
		   var tbody = $('.deliveryRadio:checked').closest('tbody');
		   if(!tbody.find('select').length || parseInt(tbody.find('select').val())) {
				  return(true);
		   }
		   alert('Пожалуйста, выберите зону доставки');
		   return(false);
		 });
  }
});


#3 velena168

velena168

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

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

Отправлено 22 Октябрь 2013 - 23:47

Просмотр сообщенияStasya (22 Октябрь 2013 - 22:47) писал:

Об этой ошибке мы уже знаем. Разработчики обязательно доработают шаблон в ближайшее время.
Чтобы реализовать зоны доставки выпадающим списком Вам нужно в шаблоне Оформление заказа найти блок
<!-- Шаг 2. Доставка -->
	 {% ELSEIF ORDER_STAGE_NUM=2%}
	 <div class="order_carrier_content">
		 <h3 class="title" title="Выберите удобный для вас способ доставки">Cпособ доставки</h3>
		 <div class="order_carrier_wrapper">
		 <div class="delivery_options_address">
			 <div class="delivery_options_title">Выберите способ доставки</div>
			 <table class="orderStageDeliveryListTable resume">
			 {% FOR order_delivery %}
				 <tbody rel="{order_delivery.ID}">
				 <tr {% IF order_delivery.first %}class="first"{% ENDIF %}>
					 <td class="cell1" rowspan="2">
					 <input type="radio" id="deliveryId{order_delivery.ID}" name="form[delivery][id]" value="{order_delivery.ID}" class="required deliveryRadio"
						 {% IFNOT ORDER_FORM_DELIVERY_ID %}
						 {% IF order_delivery.first %}
							 checked="checked"
						 {% ENDIF %}
						 {% ELSEIF order_delivery.ID = ORDER_FORM_DELIVERY_ID %}
						 checked="checked"
						 {% ENDIF %}
					 />
					 </td>
					 <td class="cell2">
					 <label for="deliveryId{order_delivery.ID}" class="delivery_option_title">{order_delivery.NAME}</label>
					 </td>
					 <td rowspan="2" class="cell3 price">
					 <span class="delivery_option_price" {% IF order_delivery.ZONE_ID>0 %}style="display:none;"{% ENDIF%}>{order_delivery.END_PRICE | money_format}</span>
					 <span class="delivery_option_price" {% IF order_delivery.ZONE_ID<1 %}style="display:none;"{% ENDIF%}>{order_delivery.ZONE_END_PRICE | money_format}</span>
					 </td>
				 </tr>
				 <tr>
					 <td class="cell4"><p class="delivery_option_delay">{order_delivery.DESC}</p></td>
				 </tr>
				 {% IFNOT order_delivery.zone_list_empty %}
					 {% FOR zone_list %}
					 <tr class="zones ">
						 <td></td>
						 <td>
						 <!-- Заголовок внутри метода доставки, появляется только один раз-->
						 {% IF order_delivery.zone_list.index=1 %}
							 <label for="deliveryId{order_delivery.ID}" class="delivery_option_title">Зоны доставки</label><br />
						 {% ENDIF %}
						 </td>
						 <td></td>
					 </tr>
					 <tr>
						 <td></td>
						 <td>
						 <input
							 type="radio" class="deliveryZoneRadio" deliveryid="{order_delivery.ID}" id="deliveryZoneId{order_delivery.zone_list.ID}" name="form[delivery][zone_id]" value="{order_delivery.zone_list.ID}"
							 {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}
							 checked="checked" rel="true"
							 {% ENDIF %}
						 />
						 <label class="orderStageDeliveryZoneLabel delivery_option_delay" for="deliveryZoneId{order_delivery.zone_list.ID}">
							 {order_delivery.zone_list.NAME}
							 <span class="delivery_option_price">{order_delivery.zone_list.END_PRICE | money_format}</span>
						 </label>
						 </td>
						 <td></td>
					 </tr>
					 {% ENDFOR %}
				 {% ENDIF %}
				 </tbody>
			 {% ENDFOR %}
			 </table>
		 </div>
и заменить его на
<!-- Шаг 2. Доставка -->
	 {% ELSEIF ORDER_STAGE_NUM=2%}
	 <div class="order_carrier_content">
		 <h3 class="title" title="Выберите удобный для вас способ доставки">Cпособ доставки</h3>
		 <div class="order_carrier_wrapper">
		 <div class="delivery_options_address">
			 <div class="delivery_options_title">Выберите способ доставки</div>
			 <div class="orderInfo">
			 <table class="orderStageDeliveryListTable resume">
			 {% FOR order_delivery %}
				 <tbody rel="{order_delivery.ID}">
				 <tr {% IF order_delivery.first %}class="first"{% ENDIF %}>
					 <td class="cell1" rowspan="2">
					 <input type="radio" id="deliveryId{order_delivery.ID}" name="form[delivery][id]" value="{order_delivery.ID}" class="required deliveryRadio"
						 {% IFNOT ORDER_FORM_DELIVERY_ID %}
						 {% IF order_delivery.first %}
							 checked="checked"
						 {% ENDIF %}
						 {% ELSEIF order_delivery.ID = ORDER_FORM_DELIVERY_ID %}
						 checked="checked"
						 {% ENDIF %}
					 />
					 </td>
					 <td class="cell2">
					 <label for="deliveryId{order_delivery.ID}" class="delivery_option_title">{order_delivery.NAME}</label>
					 </td>
					 <td rowspan="2" class="cell3 price">
					 <span class="delivery_option_price" {% IF order_delivery.ZONE_ID>0 %}style="display:none;"{% ENDIF%}>{order_delivery.END_PRICE | money_format}</span>
					 <span class="delivery_option_price" {% IF order_delivery.ZONE_ID<1 %}style="display:none;"{% ENDIF%}>{order_delivery.ZONE_END_PRICE | money_format}</span>
					 </td>
				 </tr>
				 <tr>
					 <td class="cell4"><p class="delivery_option_delay">{order_delivery.DESC}</p></td>
				 </tr>
				 {% IFNOT order_delivery.zone_list_empty %}
								 <tr>
										 <td></td>
										 <td class="cell5">
										 <select style="margin-left:0;" class="deliveryZoneRadio" deliveryid="{order_delivery.ID}" name="form[delivery][zone_id]" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}class="required"{% ENDIF %}>
												 <option value="0" data-price="{order_delivery.END_PRICE | number_format("0", ",", " ")}"> - выберите зону доставки - </option>
												 {% FOR zone_list %}
												 <option value="{order_delivery.zone_list.ID}" price="{order_delivery.zone_list.END_PRICE | number_format("0", ",", " ")}" {% IF order_delivery.zone_list.ID=ORDER_FORM_DELIVERY_ZONE_ID %}selected="selected"{% ENDIF %}>
														 {order_delivery.zone_list.NAME}
												 </option>
												 {%ENDFOR%}
										 </select>
										 </td>
								 </tr>
								 {% ENDIF %}
				 </tbody>
			 {% ENDFOR %}
			 </table>
			 </div>
		 </div>

Затем в файле main.js найдите блок
// Действия при выборе варианта доставки на этапе оформления заказа
$('.deliveryRadio').click(function(){

// Если текущая выделенная зона доставки не относится к выбранному варианту доставки, снимаем выделение с зоны доставки
if($('.deliveryZoneRadio:checked').attr('deliveryid') != $(this).val()) {
	 $('.deliveryZoneRadio:checked').click().attr('checked', false);
}
});
и после него вставьте блок
// Смена стоимости доставки при выборе конкретной зоны доставки
$('.orderInfo select').change(function(){
var value = $(this).find('option:selected').attr('price');
$('tbody[rel="' + $(this).attr('deliveryid') + '"] .delivery_option_price .num').text(value);
// Установка шарика на пункт зоны доставки
$('#deliveryId' + $(this).attr('deliveryid')).click();
});

$(function() {
if($('.deliveryRadio').length) {
$('.deliveryRadio:checked').closest('form').submit(function() {
var tbody = $('.deliveryRadio:checked').closest('tbody');
if(!tbody.find('select').length || parseInt(tbody.find('select').val())) {
return(true);
}
alert('Пожалуйста, выберите зону доставки');
return(false);
});
}
});
Stasya, Вы меня осчастливили. Большое спасибо!
По-моему, все ОК.

#4 velena168

velena168

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

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

Отправлено 23 Октябрь 2013 - 15:11

Часов до 14:00 заказы оформлялись правильно и зоны работали, а сейчас приходят заказы с доставкой 0 рублей, т. е. наоборот стало
При выборе зоны сумма меняется, а оформляется неправильно.

#5 Stasya

Stasya

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

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

Отправлено 23 Октябрь 2013 - 17:20

Проверила Ваш сайт. Сумма меняется, а в Ваших заказах не нашла пример, где стоит сумма доставки 0. Пришлите номер заказа или скриншот данного заказа.

#6 velena168

velena168

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

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

Отправлено 23 Октябрь 2013 - 19:24

Просмотр сообщенияStasya (23 Октябрь 2013 - 17:20) писал:

Проверила Ваш сайт. Сумма меняется, а в Ваших заказах не нашла пример, где стоит сумма доставки 0. Пришлите номер заказа или скриншот данного заказа.
Меняется на 2 шаге, а оформляется без суммы доставки. А в заказах я сама исправляла сумму при подтверждении заказа по телефону с покупателем. Странно, в первой половине дня оформлялось нормально. Изменений в шаблоне "Оформление заказа" не делала больше. Да, и заказы были от покупателей, с разных компьютеров. Попробуйте тестовый заказ сделать.

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

  • Снимок.PNG
  • Снимок.PNG1.PNG
  • Снимок.PNG2.PNG


#7 Vaccina

Vaccina

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

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

Отправлено 24 Октябрь 2013 - 03:35

Так как вы сменили тему оформления, то у вас возникает та же самая ошибка которая возникала в старой теме оформления после изменения стиля зон в виде выпадающего списка. Вам необходимо применить инструкцию из сообщения http://forum.storela...__40#entry89877

#8 velena168

velena168

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

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

Отправлено 24 Октябрь 2013 - 08:38

Просмотр сообщенияVaccina (24 Октябрь 2013 - 03:35) писал:

Так как вы сменили тему оформления, то у вас возникает та же самая ошибка которая возникала в старой теме оформления после изменения стиля зон в виде выпадающего списка. Вам необходимо применить инструкцию из сообщения http://forum.storela...__40#entry89877
Очень большое спасибо! Теперь нормально.

Просмотр сообщенияvelena168 (24 Октябрь 2013 - 08:38) писал:

Очень большое спасибо! Теперь нормально.
А как-бы теперь проделать все тоже самое в Быстром заказе?

#9 Koderhan

Koderhan

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

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

Отправлено 24 Октябрь 2013 - 09:30

Просмотр сообщенияvelena168 (24 Октябрь 2013 - 08:38) писал:

Очень большое спасибо! Теперь нормально.


А как-бы теперь проделать все тоже самое в Быстром заказе?
Данный код должен работать и в быстром заказе.
Если у вас не работает, возможно закешировалась некоторая информация.

#10 velena168

velena168

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

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

Отправлено 24 Октябрь 2013 - 10:11

Просмотр сообщенияKoderhan (24 Октябрь 2013 - 09:30) писал:

Данный код должен работать и в быстром заказе.
Если у вас не работает, возможно закешировалась некоторая информация.
Но ведь код "быстрого заказа" отличается от кода "оформление заказа" - попробовала изменить, но не получилось.

#11 Сake

Сake

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

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

Отправлено 25 Октябрь 2013 - 02:39

Вы хотите в быстром заказе список зон реализовать так же в виде выпадающего списка? Если да, то в шаблоне "Быстрый заказ" найдите

{% IFNOT order_delivery.zone_list_empty %}
				  {% FOR zone_list %}
					<tr class="zones">
					  <td></td>
					  <td>
						<!-- Заголовок внутри метода доставки, появляется только один раз--> 
						{% IF order_delivery.zone_list.index=1 %}
						  <label for="quickDeliveryIdMain{order_delivery.ID}" class="zones-header">Зоны доставки</label><br />
						{% ENDIF %}
						<input
						  type="radio" class="deliveryZoneRadio" deliveryid="{order_delivery.ID}" id="quickDeliveryZoneId{order_delivery.zone_list.ID}" name="form[delivery][zone_id]" value="{order_delivery.zone_list.ID}"
						  {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}
							checked="checked" rel="true"
						  {% ENDIF %}
						/>
						<label class="orderStageDeliveryZoneLabel" for="quickDeliveryZoneId{order_delivery.zone_list.ID}" style="color: #333;">
						  {order_delivery.zone_list.NAME}
						  <span class="deliveryZonePrice" style="color: #333;">{order_delivery.zone_list.END_PRICE | money_format}</span>
						</label>
					  </td>
					  <td></td>
					</tr>
				  {% ENDFOR %}
				{% ENDIF %}

и замените на

{% IFNOT order_delivery.zone_list_empty %}
					<tr class="zones">
					  <td></td>
					  <td>
							<select style="margin-left:0;" class="deliveryZoneRadio" deliveryid="{order_delivery.ID}" name="form[delivery][zone_id]" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}class="required"{% ENDIF %}>
								<option value="0" data-price="{order_delivery.END_PRICE | number_format("0", ",", " ")}"> - выберите зону доставки - </option>
									{% FOR zone_list %}
										<option value="{order_delivery.zone_list.ID}" price="{order_delivery.zone_list.END_PRICE | number_format("0", ",", " ")}" {% IF order_delivery.zone_list.ID=ORDER_FORM_DELIVERY_ZONE_ID %}selected="selected"{% ENDIF %}>
											{order_delivery.zone_list.NAME}
										</option>
									{%ENDFOR%}
							</select>
					  </td>
					  <td></td>
					</tr>
				{% ENDIF %}

далее найдите

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

и замените на

$("#quickDeliveryConvenientDate").datepicker({
	  dayNames	  : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
	dayNamesMin	: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
	closeText	  : 'Готово',
	currentText	: 'Сегодня' ,
	duration	  : '',
	monthNames	: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Окрябрь','Ноябрь','Декабрь'],
	monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
	yearRange	  : "-6:+6",
	dateFormat	: 'dd.mm.yy',
	minDate		 : new Date(),
	firstDay	  : 1
   });
  });
$(function() {
   $('.deliveryRadio').click(function() {
		   $('.deliveryZoneRadio').attr('disabled', 'disabled');
		   $(this).closest('tbody').find('.deliveryZoneRadio').removeAttr('disabled');
   });
   $('.deliveryRadio:checked').trigger('click');
});
</script>


#12 velena168

velena168

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

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

Отправлено 25 Октябрь 2013 - 10:19

Просмотр сообщенияСake (25 Октябрь 2013 - 02:39) писал:

Вы хотите в быстром заказе список зон реализовать так же в виде выпадающего списка? Если да, то в шаблоне "Быстрый заказ" найдите

{% IFNOT order_delivery.zone_list_empty %}
				 {% FOR zone_list %}
				 <tr class="zones">
					 <td></td>
					 <td>
					 <!-- Заголовок внутри метода доставки, появляется только один раз-->
					 {% IF order_delivery.zone_list.index=1 %}
						 <label for="quickDeliveryIdMain{order_delivery.ID}" class="zones-header">Зоны доставки</label><br />
					 {% ENDIF %}
					 <input
						 type="radio" class="deliveryZoneRadio" deliveryid="{order_delivery.ID}" id="quickDeliveryZoneId{order_delivery.zone_list.ID}" name="form[delivery][zone_id]" value="{order_delivery.zone_list.ID}"
						 {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}
						 checked="checked" rel="true"
						 {% ENDIF %}
					 />
					 <label class="orderStageDeliveryZoneLabel" for="quickDeliveryZoneId{order_delivery.zone_list.ID}" style="color: #333;">
						 {order_delivery.zone_list.NAME}
						 <span class="deliveryZonePrice" style="color: #333;">{order_delivery.zone_list.END_PRICE | money_format}</span>
					 </label>
					 </td>
					 <td></td>
				 </tr>
				 {% ENDFOR %}
			 {% ENDIF %}

и замените на

{% IFNOT order_delivery.zone_list_empty %}
				 <tr class="zones">
					 <td></td>
					 <td>
						 <select style="margin-left:0;" class="deliveryZoneRadio" deliveryid="{order_delivery.ID}" name="form[delivery][zone_id]" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}class="required"{% ENDIF %}>
							 <option value="0" data-price="{order_delivery.END_PRICE | number_format("0", ",", " ")}"> - выберите зону доставки - </option>
								 {% FOR zone_list %}
									 <option value="{order_delivery.zone_list.ID}" price="{order_delivery.zone_list.END_PRICE | number_format("0", ",", " ")}" {% IF order_delivery.zone_list.ID=ORDER_FORM_DELIVERY_ZONE_ID %}selected="selected"{% ENDIF %}>
										 {order_delivery.zone_list.NAME}
									 </option>
								 {%ENDFOR%}
						 </select>
					 </td>
					 <td></td>
				 </tr>
			 {% ENDIF %}

далее найдите

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

и замените на

$("#quickDeliveryConvenientDate").datepicker({
	 dayNames	 : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
dayNamesMin : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
closeText	 : 'Готово',
currentText : 'Сегодня' ,
duration	 : '',
monthNames : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Окрябрь','Ноябрь','Декабрь'],
monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
yearRange	 : "-6:+6",
dateFormat : 'dd.mm.yy',
minDate		 : new Date(),
firstDay	 : 1
});
});
$(function() {
$('.deliveryRadio').click(function() {
		 $('.deliveryZoneRadio').attr('disabled', 'disabled');
		 $(this).closest('tbody').find('.deliveryZoneRadio').removeAttr('disabled');
});
$('.deliveryRadio:checked').trigger('click');
});
</script>
Спасибо. Зоны добавились, только не подставляется правильно цена при выборе конкретной зоны, хотя оформляется правильно. Тут тоже может каких-то условий не хватает?

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

  • Снимок.PNG


#13 Сake

Сake

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

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

Отправлено 26 Октябрь 2013 - 01:13

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

$('.deliveryZoneRadio').change(function() {
  var value = $(this).find('option:selected').attr('price');
  $('tbody[rel="' + $(this).attr('deliveryid') + '"] .orderStageDeliveryDefaultPrice .num').text(value);
  $('#deliveryId' + $(this).attr('deliveryid')).click();
});

вставьте его после кода

$(function() {
$('.deliveryRadio').click(function() {
				 $('.deliveryZoneRadio').attr('disabled', 'disabled');
				 $(this).closest('tbody').find('.deliveryZoneRadio').removeAttr('disabled');
});
$('.deliveryRadio:checked').trigger('click');
});


#14 velena168

velena168

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

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

Отправлено 26 Октябрь 2013 - 02:03

Просмотр сообщенияСake (26 Октябрь 2013 - 01:13) писал:

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

$('.deliveryZoneRadio').change(function() {
var value = $(this).find('option:selected').attr('price');
$('tbody[rel="' + $(this).attr('deliveryid') + '"] .orderStageDeliveryDefaultPrice .num').text(value);
$('#deliveryId' + $(this).attr('deliveryid')).click();
});

вставьте его после кода

$(function() {
$('.deliveryRadio').click(function() {
				 $('.deliveryZoneRadio').attr('disabled', 'disabled');
				 $(this).closest('tbody').find('.deliveryZoneRadio').removeAttr('disabled');
});
$('.deliveryRadio:checked').trigger('click');
});
Большое спасибо, все получилось. Даже не верится. Самое главное сделано. Спасибо, всем.

#15 velena168

velena168

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

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

Отправлено 12 Ноябрь 2013 - 20:11

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

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

  • Снимок.PNG


#16 Сake

Сake

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

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

Отправлено 13 Ноябрь 2013 - 02:10

Попробуйте в шаблон "Быстрый заказ" после строк

$("#quickform").submit(function(){
	 
	  // Если форма невалидна не отправляем её на сервер
	  if(!$(this).valid()) {
		return false;
	  }

вставить

if(!parseInt($('#quickform .deliveryZoneRadio:not([disabled="disabled"])').val())) {
   alert('Пожалуйста, выберите зону доставки!');
   return(false);
}


#17 velena168

velena168

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

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

Отправлено 13 Ноябрь 2013 - 09:22

Просмотр сообщенияСake (13 Ноябрь 2013 - 02:10) писал:

Попробуйте в шаблон "Быстрый заказ" после строк

$("#quickform").submit(function(){
	
	 // Если форма невалидна не отправляем её на сервер
	 if(!$(this).valid()) {
	 return false;
	 }

вставить

if(!parseInt($('#quickform .deliveryZoneRadio:not([disabled="disabled"])').val())) {
alert('Пожалуйста, выберите зону доставки!');
return(false);
}
Спасибо. Теперь нормально.
И к этому, маленький вопрос.
Всплывающее окно такое бледное, сливается. Его никак не подкрасить? Или это от браузера зависит?

#18 empty9228

empty9228

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

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

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

Здравствуйте! найдите в файле jqueryfancybox.css код


.fancybox-skin {
position: relative;
background: #f9f9f9;
color: #444;
text-shadow: none;
-webkit-border-radius: 4px;
  -moz-border-radius: 4px;
	   border-radius: 4px;

значение background отвечает за цвет фона всплывающего окна, поменяйте его на своё усмотрение, например на background: #ECD382;

#19 velena168

velena168

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

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

Отправлено 13 Ноябрь 2013 - 10:45

Просмотр сообщенияempty9228 (13 Ноябрь 2013 - 10:14) писал:

Здравствуйте! найдите в файле jqueryfancybox.css код


.fancybox-skin {
position: relative;
background: #f9f9f9;
color: #444;
text-shadow: none;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;

значение background отвечает за цвет фона всплывающего окна, поменяйте его на своё усмотрение, например на background: #ECD382;
У меня нет файла  jqueryfancybox.css, а в style.css не нашла.

#20 ne_yana

ne_yana

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

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

Отправлено 13 Ноябрь 2013 - 10:55

Просмотр сообщенияvelena168 (13 Ноябрь 2013 - 10:45) писал:

У меня нет файла  jqueryfancybox.css, а в style.css не нашла.
Добавьте в файл stele.css
.fancybox-skin {
background: red;
}
, указав желаемый цвет.




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

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