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


Долгий Отклик Сайта


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

#1 Yurren

Yurren

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

  • Пользователи
  • PipPipPipPip
  • 1 415 сообщений
  • ГородСамара

Отправлено 12 Апрель 2016 - 07:08

Доброго дня!
Заметил, что после момента нажатия кнопки "купить" до появления всплывающего окна - "товар добавлен в корзину-продолжить покупки-оформить заказ" проходит достаточно много времени: от 2 до 4 секунд (тестировалось в хроме последняя версия). Что ОЧЕНЬ долго - покупатели могут ненароком подумать, что сайт не работает!
Собственно вопрос как этот конфуз убрать - уменьшить время отклика!! ??

Заранее спасибо откликнувшимся!

#2 Vaccina

Vaccina

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

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

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

Уточните пожалуйста, вы пользуетесь услугами компании retailrocket? Так как при покупке множественный запросы происходят на данный сайт.

#3 Yurren

Yurren

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

  • Пользователи
  • PipPipPipPip
  • 1 415 сообщений
  • ГородСамара

Отправлено 12 Апрель 2016 - 07:28

Просмотр сообщенияVaccina (12 Апрель 2016 - 07:26) писал:

Уточните пожалуйста, вы пользуетесь услугами компании retailrocket? Так как при покупке множественный запросы происходят на данный сайт.
Да!
Понял причину :) Теперь - ... уже пользовался :) Спасибо за направление!
Сейчас поотключаю. Скорость важнее!

#4 Yurren

Yurren

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

  • Пользователи
  • PipPipPipPip
  • 1 415 сообщений
  • ГородСамара

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

Просмотр сообщенияVaccina (12 Апрель 2016 - 07:26) писал:

Уточните пожалуйста, вы пользуетесь услугами компании retailrocket? Так как при покупке множественный запросы происходят на данный сайт.
Рокет снес!
Результат на первый взгляд не изменился - так же около 3 секунд... :(
Не посмотрите что еще может тормозить!.....

#5 Vaccina

Vaccina

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

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

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

Уточните пожалуйста, вы отказались от формы Быстрый заказ? Так как при покупке и дальнейшем клике на оформление нас переносит в корзину(вопрос связан с тем, можно ли почистить данный шаблон от неиспользуемых объектов).

#6 Yurren

Yurren

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

  • Пользователи
  • PipPipPipPip
  • 1 415 сообщений
  • ГородСамара

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

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

Уточните пожалуйста, вы отказались от формы Быстрый заказ? Так как при покупке и дальнейшем клике на оформление нас переносит в корзину(вопрос связан с тем, можно ли почистить данный шаблон от неиспользуемых объектов).
К сожалению немного не силен в терминологии....
После кнопки купить - выплывающее окно "товар добавлен в корзину-продолжить покупки-оформить заказ" - да! это надо!
Есть функция "обратный звонок" - просьба позвонить - это желательно, но ради скорости готов снести.
Остальное не надо - можно сносить. Функциями купить в один клик, быстрый заказ, если это подразумевает всплывающее окно с телефоном, не буду пользоваться никогда.

Заранее спасибо за участие!

#7 Vaccina

Vaccina

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

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

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

Простите за ожидание, попробуйте временно в шаблоне Быстрый заказ удалить:
<div id="quickform2" style="display: none;">
  <form action="{ORDER_STAGE_CONFIRM_WITHOUT_DOMAIN_URL}" method="post"  id="quickform">
	<div class="order_carrier_content" style="padding:0 0.5em;">
	  <input type="hidden" name="hash" value="{HASH}" />
	  <h3 class="title">Форма быстрого оформления заказа</h3>
	  <div class="order_carrier_wrapper">
		<label for="reg_name" class="required">ФИО*</label>
		<div class="input-box">
		  <input id="reg_name" name="form[contact][person]" value="{ORDER_FORM_CONTACT_PERSON}" maxlength="100" class="required light" type="text"/>
		</div>
		<label for="contactEmail" class="required">E-mail{% IF ORDER_FORM_CONTACT_WANT_REGISTER %}*{% ENDIF %}</label>	  
		<div class="input-box">
		  <input id="contactEmail" name="form[contact][email]" value="{ORDER_FORM_CONTACT_EMAIL}" maxlength="255" class="{% IF ORDER_FORM_CONTACT_WANT_REGISTER %}required{% ENDIF %} email light" type="text"/>
		</div>
		<label for="sites_client_phone" class="required">Телефон для связи*</label>
		<div class="input-box">
		  <input id="sites_client_phone" name="form[contact][phone]" value="{ORDER_FORM_CONTACT_PHONE}" maxlength="255" class="required light" type="text"/>
		</div>
		  <!-- Если в тарифном плане подключен раздел личного кабинета -->
		  {% IF TARIFF_FEATURE_CLIENT_ROOM %}
			{% IFNOT CLIENT_IS_LOGIN %}
			  <div class="control">
				<input type="checkbox" id="contactWantRegister" name="form[contact][want_register]" value="1" {% IF ORDER_FORM_CONTACT_WANT_REGISTER %}checked="checked"{% ENDIF %}>&nbsp;<label for="contactWantRegister">Я хочу зарегистрироваться</label>
			  </div>
			{% ENDIF %}
		  {% ENDIF %}
		  <!-- Если в тарифном плане подключен раздел личного кабинета -->
		  {% IF TARIFF_FEATURE_CLIENT_ROOM %}
			{% IFNOT CLIENT_IS_LOGIN %}
			  <div class="fieldset contactRegisterNeedElement" {% IFNOT ORDER_FORM_CONTACT_WANT_REGISTER %}style="display:none;"{% ENDIF %}>
				<label for="contactPassWord" class="required">Придумайте пароль*</label>
				<div class="input-box">
				  <input id="contactPassWord" type="password" name="form[contact][pass]" value="{ORDER_FORM_CONTACT_PASS}" maxlength="50" minlength="6" class="light {% IF ORDER_FORM_CONTACT_WANT_REGISTER %}required{% ENDIF %}"
					 onkeyup="checkCapsWarning(event)" onfocus="checkCapsWarning(event)" onblur="removeCapsWarning()"/>
				</div>
					{% IFNOT user_agent_ie %}
					  <div class="showPassBlock"><a href="#" rel="Скрыть пароль" class="OrderShowPass">Показать пароль</a></div>
					{% ENDIF %}
		 
					<div class="alignCenter" style="display:none;width:214px;padding-top:10px;" id="caps_lock">
					  <img src="{ASSETS_IMAGES_PATH}warningCapslock.png"><br />
					 <strong class="black">Caps Lock включен.</strong><br />
					 Пароль может быть введен неверно.
					</div>
				 </td>
			   </div>
			{% ENDIF %}
		  {% ENDIF %}
	  </div>
	 
	  <div class="fieldset">
		<div class="order_carrier_wrapper">
		  <div class="delivery_options_address">
			<div class="delivery_options_title">Выберите удобный для вас способ доставки</div>
		<table class="orderStageDeliveryListTable resume" style="max-width: 775px;">
		 {% FOR order_delivery %}
		   <tbody rel="{order_delivery.ID}">
			<tr {% IF order_delivery.first %}class="first"{% ENDIF %}>
			 <td class="cell1" width="5%">
			   <input type="radio" id="quickDeliveryIdMain{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" width="60%">
			   <label for="quickDeliveryIdMain{order_delivery.ID}">{order_delivery.NAME}</label>
					{% IF order_delivery.DESC %}
				   <div class="htmlDataBlock">{order_delivery.DESC}</div>
					{% ENDIF %}
			 </td>
			 <td class="cell3 price">
			   <span class="orderStageDeliveryDefaultPrice" {% IF order_delivery.ZONE_ID>0 %}style="display:none;"{% ENDIF%}>{order_delivery.END_PRICE | money_format}</span>
			   <span class="orderStageDeliveryZonePrice" {% IF order_delivery.ZONE_ID<1 %}style="display:none;"{% ENDIF%}>{order_delivery.ZONE_END_PRICE | money_format}</span>
			 </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="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 %}
		   </tbody>
			{% ENDFOR %}
		  </table>
		  </div>
		</div>
	  </div>  
	 
	  {% FOR order_delivery %}
		{% IFNOT order_delivery.available_payment_list_empty  %}
		  <div class="quick_order_payment fieldset" rel="{order_delivery.ID}" style="display: none;">
			<div class="order_carrier_wrapper">
			  <div class="payment_options">
				<div class="payment_options_title">Выберите удобный для вас способ оплаты заказа</div>
			  <table class="orderStagePaymentListTable resume" style="max-width: 775px;">
				{% FOR available_payment_list %}
				  <tr>
					<td class="cell1" width="5%"><input type="radio" id="quickPaymentId{order_delivery.ID}_{order_delivery.available_payment_list.ID}" name="form[payment][id]" value="{order_delivery.available_payment_list.ID}"  class="required" {% IFNOT ORDER_FORM_PAYMENT_ID %}{% IF order_delivery.available_payment_list.first %}checked="checked"{% ENDIF %}{% ELSEIF order_delivery.available_payment_list.ID = ORDER_FORM_PAYMENT_ID %}checked="checked"{% ENDIF %}/></td>
					<td class="cell2" width="95%">
					  <label for="quickPaymentId{order_delivery.ID}_{order_delivery.available_payment_list.ID}">{order_delivery.available_payment_list.NAME}</label>
					  <!-- Сообщение для пользователя -->
					  {order_delivery.available_payment_list.MESSAGE}
					</td>
				  </tr>
				{% ENDFOR %}
			  </table>
			  </div>
			</div>
		  </div>
		{% ENDIF %}
	  {% ENDFOR %}
	
	  <div class="fieldset">
		<div class="order_carrier_wrapper">
		  <h2>Адрес доставки заказа</h2>
		  <ul class="form-list">  
			<!-- Если поле страны доставки запрашивается -->
			{% IF SETTINGS_ORDER_FIELDS_COUNTRY<3 %}
			  <li class="fields">
				{% IFNOT country_list_empty %}
				  <div class="field">
					<label for="quickDeliveryCountry" {% IF SETTINGS_ORDER_FIELDS_COUNTRY=1 %}class="required"{% ENDIF %}>Страна{% IF SETTINGS_ORDER_FIELDS_COUNTRY=1 %}<em>*</em>{% ENDIF %}</label>
					<div class="input-box">
					  <select id="quickDeliveryCountry" name="form[delivery][country_id]" {% IF SETTINGS_ORDER_FIELDS_COUNTRY=1 %}class="required"{% ENDIF %} style="float: none;">
						{% FOR country_list %}
						  <option value="{country_list.ID}" {% IF country_list.ID=ORDER_FORM_DELIVERY_COUNTRY_ID %}selected="selected"{% ENDIF %}>
							{country_list.NAME}
						  </option>
						{% ENDFOR %}
					  </select>
					</div>
				  </div>
				{% ENDIF %}
			  </li>
			{% ENDIF %}
	   
			<!-- Если поле области запрашивается -->
			{% IF SETTINGS_ORDER_FIELDS_REGION<3 %}
			  <li class="fields">
				<div class="field">
				  <label for="quickDeliveryRegion" {% IF SETTINGS_ORDER_FIELDS_REGION=1 %}class="required"{% ENDIF %}>Область{% IF SETTINGS_ORDER_FIELDS_REGION=1 %}<em>*</em>{% ENDIF %}</label>
				  <div class="input-box">
					<input type="text" id="quickDeliveryRegion" name="form[delivery][region]" value="{ORDER_FORM_DELIVERY_REGION}" maxlength="255" class="light {% IF SETTINGS_ORDER_FIELDS_REGION=1 %}required{% ENDIF %}"/>
				  </div>
				</div>
			  </li>
			{% ENDIF %}
   
			<!-- Если поле города запрашивается -->
			{% IF SETTINGS_ORDER_FIELDS_CITY<3 %}
			  <li class="fields">
				<div class="field">
				  <label for="quickDeliveryCity" {% IF SETTINGS_ORDER_FIELDS_CITY=1 %}class="required"{% ENDIF %}>Город{% IF SETTINGS_ORDER_FIELDS_CITY=1 %}<em>*</em>{% ENDIF %}</label>
				  <div class="input-box">
					<input type="text" id="quickDeliveryCity" name="form[delivery][city]" value="{ORDER_FORM_DELIVERY_CITY}" class="light {% IF SETTINGS_ORDER_FIELDS_CITY=1 %}required{% ENDIF %}" maxlength="255" />
				  </div>
				</div>
			  </li>
			{% ENDIF %}
   
			<!-- Если поле почтового индекса запрашивается -->
			{% IF SETTINGS_ORDER_FIELDS_ZIP_CODE<3 %}
			  <li class="fields">
				<div class="field">
				  <label for="quickDeliveryZipCode" {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}class="required"{% ENDIF %}>Почтовый индекс{% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}<em>*</em>{% ENDIF %}</label>
				  <div class="input-box">
					<input type="text" id="quickDeliveryZipCode" name="form[delivery][zip_code]" value="{ORDER_FORM_DELIVERY_ZIP_CODE}" minlength="5" maxlength="6" class="light digits {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}required{% ENDIF %}" maxlength="255" />
				  </div>
				</div>
			  </li>
			{% ENDIF %}
		   
			<!-- Если поле даты доставки запрашивается -->
			{% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME<3 %}
			  <li class="fields">
				<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">
					<input type="text" id="quickDeliveryConvenientDate" name="form[delivery][convenient_date]" value="{ORDER_FORM_DELIVERY_CONVENIENT_DATE}" class="light {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}required{% ENDIF %}" maxlength="10" minlength="10" />
				  </div>
				</div>
			  </li>
			  <li class="fields">
				<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
					<select style="width:95px;margin-right:3px;float: none;" 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 style="width:95px;float: none;" 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>
			{% ENDIF %}			 
		   
			<!-- Если поле адреса доставки запрашивается -->
			{% IF SETTINGS_ORDER_FIELDS_ADDRESS<3 %}
			  <li class="wide">
				<div class="clear"></div>
				<label for="quickDeliveryAddress" {% IF SETTINGS_ORDER_FIELDS_ADDRESS=1 %}class="required"{% ENDIF %}>Адрес доставки{% IF SETTINGS_ORDER_FIELDS_ADDRESS=1 %}<em>*</em>{% ENDIF %}</label>
				<div class="input-box">
				  <textarea cols="40" style="height:50px;" id="quickDeliveryAddress" name="form[delivery][address]" {% IF SETTINGS_ORDER_FIELDS_ADDRESS=1 %}class="required"{% ENDIF %}>{ORDER_FORM_DELIVERY_ADDRESS}</textarea>
				</div> 
			  </li>
			{% ENDIF %}
		   
			<!-- Если поле адреса доставки запрашивается -->
			{% IF SETTINGS_ORDER_FIELDS_COMMENT<3 %}
			  <li class="wide">
				<div class="clear"></div>
				<label for="quickDeliveryComment" {% IF SETTINGS_ORDER_FIELDS_COMMENT=1 %}class="required"{% ENDIF %}>Комментарий{% IF SETTINGS_ORDER_FIELDS_COMMENT=1 %}<em>*</em>{% ENDIF %}</label>
				<div class="input-box">
				  <textarea cols="40" style="height:50px;" id="quickDeliveryComment" name="form[delivery][comment]" {% IF SETTINGS_ORDER_FIELDS_COMMENT=1 %}class="required"{% ENDIF %}>{ORDER_FORM_DELIVERY_COMMENT}</textarea>
				</div> 
			  </li>
			{% ENDIF %}
		  </ul>
		</div>
	  </div>
	   
	  <!-- Если в тарифном плане подключен модуль скидок по купонам и суммам заказов -->
	  {% IF TARIFF_FEATURE_DISCOUNT_COUPONS %}
		<!-- Если скидки по купонам активированы в панели управления магазином -->
		{% IF ORDER_DISCOUNT_COUPON_IS_ENABLED %}
		  <div class="fieldset">
			<div class="order_carrier_wrapper">
			  <h2>Купон на скидку, если имеется</h2>
			  <ul class="form-list">
				<li>
				  <label for="quick_form_coupon_code">Код купона</label>
				  <div class="input-box">
					<input type="text" id="quick_form_coupon_code" name="form[coupon_code]" value="{ORDER_FORM_COUPON_CODE}" class="light" />
				  </div>
				<li>
			  </ul>
			</div>
		  </div>
		{% ENDIF %}
	  {% ENDIF %}
	  <!-- END Если в тарифном плане подключен модуль скидок по купонам и суммам заказов -->
	   
	  <!--<div class="order_carrier_wrapper buttons-set">
		<input type="submit" class="exclusive" title="Оформить заказ" value="Оформить заказ" />
	  </div>-->
	  <div class="order_carrier_wrapper buttons-set">
		 <input id="submit_order" type="submit" class="exclusive" title="Оформить заказ" value="Оформить заказ" />
		 <input id="pers_confirm" type="checkbox" name="pers_confirm"><label>Нажимая кнопку Оформить заказ, я соглашаюсь с <a href="#">политикой конфиденциальности</a></label>
	  </div>
	</div>
  </form>
</div>

{% ENDIF %}
<script type="text/javascript">   
  $(document).ready(function(){
   
	// При клике на кнопку быстрого оформления заказа
	$('.quickform').bind('click', function () { 
	 
	  // Текущая кнопка по всей логике больше не понадобится пользователю, скрываем её. Аналогично, если пользователь оформляет заказ, с большой вероятностью кнопка продолжить покупки ему тоже не нужна, тем более, что есть кнопка закрытия окна полностью дублирующая функционал кнопки "продолжить покупки"
	  $(this).hide().parent().find('.сlose2').hide();
	  if ($('#quickform2').hasClass('visible')) {
		$('#quickform2').removeClass("visible");
		$('#quickform2').hide();
	  } else {
		$('#quickform2').addClass("visible");
		$('#quickform2').show();
	  }
	 
	  $.fancybox.update();
	});
   
	$('.сlose2').bind('click', function () {
	  $.fancybox.close();
	});
   
	var ID = $('input[name="form[delivery][id]"]:checked').val(); 
	$('.quick_order_payment').hide();
	$('.quick_order_payment[rel="' + ID + '"]').show();
	$('.quick_order_payment[rel="' + ID + '"]').find('input:first').attr('checked', true);
	 
	$('.deliveryRadio').bind('click', function(){ 
	  var ID = $('input[name="form[delivery][id]"]:checked').val(); 
	  $('.quick_order_payment').hide();
	  $('.quick_order_payment[rel="' + ID + '"]').show();
	  $('.quick_order_payment[rel="' + ID + '"]').find('input:first').attr('checked', true);
	});
   
	// Форма регистрации нового пользователя, при оформлении заказа
	$('.OrderShowPass').bind('click', function(){
	  ChangePasswordFieldType(this, $('#contactPassWord'));
	  return false;
	});
   
	// При оформлении заказа дадим возможность зарегистрироваться пользователю
	$('#contactWantRegister').bind('click', function(){
	  if($(this).attr("checked")) {
		$('.contactRegisterNeedElement').show();
		$('#contactEmail, #contactPassWord').addClass('required');
	  } else {
		$('.contactRegisterNeedElement').hide();
		$('#contactEmail, #contactPassWord').removeClass('required');
	  }
	});
   
	 // Действия при выборе варианта доставки на этапе оформления заказа
	$('.deliveryRadio').bind('click', function(){
	 
	  // Если текущая выделенная зона доставки не относится к выбранному варианту доставки, снимаем выделение с зоны доставки
	  if($('.deliveryZoneRadio:checked').attr('deliveryid') != $(this).val()) {
		$('.deliveryZoneRadio:checked').click().attr('checked', false);
	  }
	});
   
	// Действия при выборе зоны внутри варианта доставки на этапе оформления заказа
	$('.deliveryZoneRadio').bind('click', function(){
	 
	  var
		deliveryId = $(this).attr('deliveryid')
		,deliveryZonePrice = $(this).parent().find('.deliveryZonePrice')
		,deliveryTbody = $('.orderStageDeliveryListTable tbody[rel="' + deliveryId + '"]')
		,deliveryBlock = deliveryTbody.find('#quickDeliveryIdMain' + deliveryId)
		,deliveryZonePriceBlock = deliveryTbody.find('.orderStageDeliveryZonePrice')
		,deliveryDefaultPriceBlock = deliveryTbody.find('.orderStageDeliveryDefaultPrice')
	  ;
 
	  // Если этот пункт уже выбран, при повторном клике пользователь видимо хочет снять выделение зоны доставки
	  if('true' == $(this).attr('rel')) {
		$(this).attr('checked', false);
		$(this).attr('rel', 'false');
	   
		// Показываем цену по умолчанию
		deliveryDefaultPriceBlock.show();
		// Скрываем цену образованную от зоны
		deliveryZonePriceBlock.hide();
	   
	  // Отмечаем у всех радио баттонов зон доставки свойство говорящее что они не отмечены
	  } else {
		$('.deliveryZoneRadio').attr('rel', 'false');
		$(this).attr('rel', 'true');
	   
		// Показываем цену по умолчанию
		deliveryDefaultPriceBlock.hide();
		// Скрываем цену образованную от зоны
		deliveryZonePriceBlock.show().html(deliveryZonePrice.html());
	   
		// Выделяем вариант доставки к которому относится зона доставки
		deliveryBlock.attr('checked', true).click();
	  }
	});
 
	// Валидация формы на странице оформления заказа
	$("#quickform").submit(function(){
	 
	  // Если форма невалидна не отправляем её на сервер
	  if(!$(this).valid()) {
		return false;
	  }
	 
	  // Получаем данные формы, которые будем отправлять на сервер
	  var formData = $(this).serializeArray();
	  // Сообщаем серверу, что мы пришли через ajax запрос
	  formData.push({name: 'ajax_q', value: 1});
 
	  // Аяксом добавляем товар в корзину и вызываем форму быстрого заказа товара
	  $.ajax({
		type	: "POST",
		dataType: 'json',
	   cache   : false,
	  url	: $(this).attr('action'),
	  data  : formData,
	  success: function(data) {
		  // Если заказ был успешно создан
		  if( data.status == 'ok' ) {
			window.location = data.location;
		  } else if( data.status == 'error' ) {
			alert(data.message);
		  } else {
			alert('Во время оформления заказа возникла неизвестная ошибка. Пожалуйста, обратитесь в службу технической поддержки.');
		  }
	  }
	 });
	 
	  return false;	 
 
	}).validate();
	$("#quickDeliveryConvenientDate").datepicker({
	  dayNames	  : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
	dayNamesMin	: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
	closeText	  : 'Готово',
	currentText	: 'Сегодня' ,
	duration	  : '',
	monthNames	: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Окрябрь','Ноябрь','Декабрь'],
	monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
	yearRange	  : "-6:+6",
	dateFormat	: 'dd.mm.yy',
	minDate		 : new Date(),
	firstDay	  : 1
   });
<!-- Блок согласия на обработку персональных данных --> 
	$('#submit_order').prop('disabled', true);
$('#pers_confirm').change(function() {
if ($('#pers_confirm').prop("checked")){
$('#submit_order').prop('disabled', false);
} else {
$('#submit_order').prop('disabled', true);
}
});
<!-- END Блок согласия на обработку персональных данных -->
  });
</script>

И проверить на скорость, не заметила, чтобы где-то эта форма использовалась.

#8 Yurren

Yurren

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

  • Пользователи
  • PipPipPipPip
  • 1 415 сообщений
  • ГородСамара

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

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

Простите за ожидание, попробуйте временно в шаблоне Быстрый заказ удалить:
<div id="quickform2" style="display: none;">
<form action="{ORDER_STAGE_CONFIRM_WITHOUT_DOMAIN_URL}" method="post" id="quickform">
<div class="order_carrier_content" style="padding:0 0.5em;">
	 <input type="hidden" name="hash" value="{HASH}" />
	 <h3 class="title">Форма быстрого оформления заказа</h3>
	 <div class="order_carrier_wrapper">
	 <label for="reg_name" class="required">ФИО*</label>
	 <div class="input-box">
		 <input id="reg_name" name="form[contact][person]" value="{ORDER_FORM_CONTACT_PERSON}" maxlength="100" class="required light" type="text"/>
	 </div>
	 <label for="contactEmail" class="required">E-mail{% IF ORDER_FORM_CONTACT_WANT_REGISTER %}*{% ENDIF %}</label>	
	 <div class="input-box">
		 <input id="contactEmail" name="form[contact][email]" value="{ORDER_FORM_CONTACT_EMAIL}" maxlength="255" class="{% IF ORDER_FORM_CONTACT_WANT_REGISTER %}required{% ENDIF %} email light" type="text"/>
	 </div>
	 <label for="sites_client_phone" class="required">Телефон для связи*</label>
	 <div class="input-box">
		 <input id="sites_client_phone" name="form[contact][phone]" value="{ORDER_FORM_CONTACT_PHONE}" maxlength="255" class="required light" type="text"/>
	 </div>
		 <!-- Если в тарифном плане подключен раздел личного кабинета -->
		 {% IF TARIFF_FEATURE_CLIENT_ROOM %}
		 {% IFNOT CLIENT_IS_LOGIN %}
			 <div class="control">
			 <input type="checkbox" id="contactWantRegister" name="form[contact][want_register]" value="1" {% IF ORDER_FORM_CONTACT_WANT_REGISTER %}checked="checked"{% ENDIF %}>&nbsp;<label for="contactWantRegister">Я хочу зарегистрироваться</label>
			 </div>
		 {% ENDIF %}
		 {% ENDIF %}
		 <!-- Если в тарифном плане подключен раздел личного кабинета -->
		 {% IF TARIFF_FEATURE_CLIENT_ROOM %}
		 {% IFNOT CLIENT_IS_LOGIN %}
			 <div class="fieldset contactRegisterNeedElement" {% IFNOT ORDER_FORM_CONTACT_WANT_REGISTER %}style="display:none;"{% ENDIF %}>
			 <label for="contactPassWord" class="required">Придумайте пароль*</label>
			 <div class="input-box">
				 <input id="contactPassWord" type="password" name="form[contact][pass]" value="{ORDER_FORM_CONTACT_PASS}" maxlength="50" minlength="6" class="light {% IF ORDER_FORM_CONTACT_WANT_REGISTER %}required{% ENDIF %}"
					 onkeyup="checkCapsWarning(event)" onfocus="checkCapsWarning(event)" onblur="removeCapsWarning()"/>
			 </div>
				 {% IFNOT user_agent_ie %}
					 <div class="showPassBlock"><a href="#" rel="Скрыть пароль" class="OrderShowPass">Показать пароль</a></div>
				 {% ENDIF %}
		
				 <div class="alignCenter" style="display:none;width:214px;padding-top:10px;" id="caps_lock">
					 <img src="{ASSETS_IMAGES_PATH}warningCapslock.png"><br />
					 <strong class="black">Caps Lock включен.</strong><br />
					 Пароль может быть введен неверно.
				 </div>
				 </td>
			 </div>
		 {% ENDIF %}
		 {% ENDIF %}
	 </div>
	
	 <div class="fieldset">
	 <div class="order_carrier_wrapper">
		 <div class="delivery_options_address">
		 <div class="delivery_options_title">Выберите удобный для вас способ доставки</div>
	 <table class="orderStageDeliveryListTable resume" style="max-width: 775px;">
		 {% FOR order_delivery %}
		 <tbody rel="{order_delivery.ID}">
		 <tr {% IF order_delivery.first %}class="first"{% ENDIF %}>
			 <td class="cell1" width="5%">
			 <input type="radio" id="quickDeliveryIdMain{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" width="60%">
			 <label for="quickDeliveryIdMain{order_delivery.ID}">{order_delivery.NAME}</label>
				 {% IF order_delivery.DESC %}
				 <div class="htmlDataBlock">{order_delivery.DESC}</div>
				 {% ENDIF %}
			 </td>
			 <td class="cell3 price">
			 <span class="orderStageDeliveryDefaultPrice" {% IF order_delivery.ZONE_ID>0 %}style="display:none;"{% ENDIF%}>{order_delivery.END_PRICE | money_format}</span>
			 <span class="orderStageDeliveryZonePrice" {% IF order_delivery.ZONE_ID<1 %}style="display:none;"{% ENDIF%}>{order_delivery.ZONE_END_PRICE | money_format}</span>
			 </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="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 %}
		 </tbody>
		 {% ENDFOR %}
		 </table>
		 </div>
	 </div>
	 </div>
	
	 {% FOR order_delivery %}
	 {% IFNOT order_delivery.available_payment_list_empty %}
		 <div class="quick_order_payment fieldset" rel="{order_delivery.ID}" style="display: none;">
		 <div class="order_carrier_wrapper">
			 <div class="payment_options">
			 <div class="payment_options_title">Выберите удобный для вас способ оплаты заказа</div>
			 <table class="orderStagePaymentListTable resume" style="max-width: 775px;">
			 {% FOR available_payment_list %}
				 <tr>
				 <td class="cell1" width="5%"><input type="radio" id="quickPaymentId{order_delivery.ID}_{order_delivery.available_payment_list.ID}" name="form[payment][id]" value="{order_delivery.available_payment_list.ID}" class="required" {% IFNOT ORDER_FORM_PAYMENT_ID %}{% IF order_delivery.available_payment_list.first %}checked="checked"{% ENDIF %}{% ELSEIF order_delivery.available_payment_list.ID = ORDER_FORM_PAYMENT_ID %}checked="checked"{% ENDIF %}/></td>
				 <td class="cell2" width="95%">
					 <label for="quickPaymentId{order_delivery.ID}_{order_delivery.available_payment_list.ID}">{order_delivery.available_payment_list.NAME}</label>
					 <!-- Сообщение для пользователя -->
					 {order_delivery.available_payment_list.MESSAGE}
				 </td>
				 </tr>
			 {% ENDFOR %}
			 </table>
			 </div>
		 </div>
		 </div>
	 {% ENDIF %}
	 {% ENDFOR %}
	
	 <div class="fieldset">
	 <div class="order_carrier_wrapper">
		 <h2>Адрес доставки заказа</h2>
		 <ul class="form-list">
		 <!-- Если поле страны доставки запрашивается -->
		 {% IF SETTINGS_ORDER_FIELDS_COUNTRY<3 %}
			 <li class="fields">
			 {% IFNOT country_list_empty %}
				 <div class="field">
				 <label for="quickDeliveryCountry" {% IF SETTINGS_ORDER_FIELDS_COUNTRY=1 %}class="required"{% ENDIF %}>Страна{% IF SETTINGS_ORDER_FIELDS_COUNTRY=1 %}<em>*</em>{% ENDIF %}</label>
				 <div class="input-box">
					 <select id="quickDeliveryCountry" name="form[delivery][country_id]" {% IF SETTINGS_ORDER_FIELDS_COUNTRY=1 %}class="required"{% ENDIF %} style="float: none;">
					 {% FOR country_list %}
						 <option value="{country_list.ID}" {% IF country_list.ID=ORDER_FORM_DELIVERY_COUNTRY_ID %}selected="selected"{% ENDIF %}>
						 {country_list.NAME}
						 </option>
					 {% ENDFOR %}
					 </select>
				 </div>
				 </div>
			 {% ENDIF %}
			 </li>
		 {% ENDIF %}
	
		 <!-- Если поле области запрашивается -->
		 {% IF SETTINGS_ORDER_FIELDS_REGION<3 %}
			 <li class="fields">
			 <div class="field">
				 <label for="quickDeliveryRegion" {% IF SETTINGS_ORDER_FIELDS_REGION=1 %}class="required"{% ENDIF %}>Область{% IF SETTINGS_ORDER_FIELDS_REGION=1 %}<em>*</em>{% ENDIF %}</label>
				 <div class="input-box">
				 <input type="text" id="quickDeliveryRegion" name="form[delivery][region]" value="{ORDER_FORM_DELIVERY_REGION}" maxlength="255" class="light {% IF SETTINGS_ORDER_FIELDS_REGION=1 %}required{% ENDIF %}"/>
				 </div>
			 </div>
			 </li>
		 {% ENDIF %}

		 <!-- Если поле города запрашивается -->
		 {% IF SETTINGS_ORDER_FIELDS_CITY<3 %}
			 <li class="fields">
			 <div class="field">
				 <label for="quickDeliveryCity" {% IF SETTINGS_ORDER_FIELDS_CITY=1 %}class="required"{% ENDIF %}>Город{% IF SETTINGS_ORDER_FIELDS_CITY=1 %}<em>*</em>{% ENDIF %}</label>
				 <div class="input-box">
				 <input type="text" id="quickDeliveryCity" name="form[delivery][city]" value="{ORDER_FORM_DELIVERY_CITY}" class="light {% IF SETTINGS_ORDER_FIELDS_CITY=1 %}required{% ENDIF %}" maxlength="255" />
				 </div>
			 </div>
			 </li>
		 {% ENDIF %}

		 <!-- Если поле почтового индекса запрашивается -->
		 {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE<3 %}
			 <li class="fields">
			 <div class="field">
				 <label for="quickDeliveryZipCode" {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}class="required"{% ENDIF %}>Почтовый индекс{% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}<em>*</em>{% ENDIF %}</label>
				 <div class="input-box">
				 <input type="text" id="quickDeliveryZipCode" name="form[delivery][zip_code]" value="{ORDER_FORM_DELIVERY_ZIP_CODE}" minlength="5" maxlength="6" class="light digits {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}required{% ENDIF %}" maxlength="255" />
				 </div>
			 </div>
			 </li>
		 {% ENDIF %}
		
		 <!-- Если поле даты доставки запрашивается -->
		 {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME<3 %}
			 <li class="fields">
			 <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">
				 <input type="text" id="quickDeliveryConvenientDate" name="form[delivery][convenient_date]" value="{ORDER_FORM_DELIVERY_CONVENIENT_DATE}" class="light {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}required{% ENDIF %}" maxlength="10" minlength="10" />
				 </div>
			 </div>
			 </li>
			 <li class="fields">
			 <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
				 <select style="width:95px;margin-right:3px;float: none;" 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 style="width:95px;float: none;" 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>
		 {% ENDIF %}			
		
		 <!-- Если поле адреса доставки запрашивается -->
		 {% IF SETTINGS_ORDER_FIELDS_ADDRESS<3 %}
			 <li class="wide">
			 <div class="clear"></div>
			 <label for="quickDeliveryAddress" {% IF SETTINGS_ORDER_FIELDS_ADDRESS=1 %}class="required"{% ENDIF %}>Адрес доставки{% IF SETTINGS_ORDER_FIELDS_ADDRESS=1 %}<em>*</em>{% ENDIF %}</label>
			 <div class="input-box">
				 <textarea cols="40" style="height:50px;" id="quickDeliveryAddress" name="form[delivery][address]" {% IF SETTINGS_ORDER_FIELDS_ADDRESS=1 %}class="required"{% ENDIF %}>{ORDER_FORM_DELIVERY_ADDRESS}</textarea>
			 </div>
			 </li>
		 {% ENDIF %}
		
		 <!-- Если поле адреса доставки запрашивается -->
		 {% IF SETTINGS_ORDER_FIELDS_COMMENT<3 %}
			 <li class="wide">
			 <div class="clear"></div>
			 <label for="quickDeliveryComment" {% IF SETTINGS_ORDER_FIELDS_COMMENT=1 %}class="required"{% ENDIF %}>Комментарий{% IF SETTINGS_ORDER_FIELDS_COMMENT=1 %}<em>*</em>{% ENDIF %}</label>
			 <div class="input-box">
				 <textarea cols="40" style="height:50px;" id="quickDeliveryComment" name="form[delivery][comment]" {% IF SETTINGS_ORDER_FIELDS_COMMENT=1 %}class="required"{% ENDIF %}>{ORDER_FORM_DELIVERY_COMMENT}</textarea>
			 </div>
			 </li>
		 {% ENDIF %}
		 </ul>
	 </div>
	 </div>
	
	 <!-- Если в тарифном плане подключен модуль скидок по купонам и суммам заказов -->
	 {% IF TARIFF_FEATURE_DISCOUNT_COUPONS %}
	 <!-- Если скидки по купонам активированы в панели управления магазином -->
	 {% IF ORDER_DISCOUNT_COUPON_IS_ENABLED %}
		 <div class="fieldset">
		 <div class="order_carrier_wrapper">
			 <h2>Купон на скидку, если имеется</h2>
			 <ul class="form-list">
			 <li>
				 <label for="quick_form_coupon_code">Код купона</label>
				 <div class="input-box">
				 <input type="text" id="quick_form_coupon_code" name="form[coupon_code]" value="{ORDER_FORM_COUPON_CODE}" class="light" />
				 </div>
			 <li>
			 </ul>
		 </div>
		 </div>
	 {% ENDIF %}
	 {% ENDIF %}
	 <!-- END Если в тарифном плане подключен модуль скидок по купонам и суммам заказов -->
	
	 <!--<div class="order_carrier_wrapper buttons-set">
	 <input type="submit" class="exclusive" title="Оформить заказ" value="Оформить заказ" />
	 </div>-->
	 <div class="order_carrier_wrapper buttons-set">
		 <input id="submit_order" type="submit" class="exclusive" title="Оформить заказ" value="Оформить заказ" />
		 <input id="pers_confirm" type="checkbox" name="pers_confirm"><label>Нажимая кнопку Оформить заказ, я соглашаюсь с <a href="#">политикой конфиденциальности</a></label>
	 </div>
</div>
</form>
</div>

{% ENDIF %}
<script type="text/javascript">
$(document).ready(function(){

// При клике на кнопку быстрого оформления заказа
$('.quickform').bind('click', function () {
	
	 // Текущая кнопка по всей логике больше не понадобится пользователю, скрываем её. Аналогично, если пользователь оформляет заказ, с большой вероятностью кнопка продолжить покупки ему тоже не нужна, тем более, что есть кнопка закрытия окна полностью дублирующая функционал кнопки "продолжить покупки"
	 $(this).hide().parent().find('.сlose2').hide();
	 if ($('#quickform2').hasClass('visible')) {
	 $('#quickform2').removeClass("visible");
	 $('#quickform2').hide();
	 } else {
	 $('#quickform2').addClass("visible");
	 $('#quickform2').show();
	 }
	
	 $.fancybox.update();
});

$('.сlose2').bind('click', function () {
	 $.fancybox.close();
});

var ID = $('input[name="form[delivery][id]"]:checked').val();
$('.quick_order_payment').hide();
$('.quick_order_payment[rel="' + ID + '"]').show();
$('.quick_order_payment[rel="' + ID + '"]').find('input:first').attr('checked', true);
	
$('.deliveryRadio').bind('click', function(){
	 var ID = $('input[name="form[delivery][id]"]:checked').val();
	 $('.quick_order_payment').hide();
	 $('.quick_order_payment[rel="' + ID + '"]').show();
	 $('.quick_order_payment[rel="' + ID + '"]').find('input:first').attr('checked', true);
});

// Форма регистрации нового пользователя, при оформлении заказа
$('.OrderShowPass').bind('click', function(){
	 ChangePasswordFieldType(this, $('#contactPassWord'));
	 return false;
});

// При оформлении заказа дадим возможность зарегистрироваться пользователю
$('#contactWantRegister').bind('click', function(){
	 if($(this).attr("checked")) {
	 $('.contactRegisterNeedElement').show();
	 $('#contactEmail, #contactPassWord').addClass('required');
	 } else {
	 $('.contactRegisterNeedElement').hide();
	 $('#contactEmail, #contactPassWord').removeClass('required');
	 }
});

	 // Действия при выборе варианта доставки на этапе оформления заказа
$('.deliveryRadio').bind('click', function(){
	
	 // Если текущая выделенная зона доставки не относится к выбранному варианту доставки, снимаем выделение с зоны доставки
	 if($('.deliveryZoneRadio:checked').attr('deliveryid') != $(this).val()) {
	 $('.deliveryZoneRadio:checked').click().attr('checked', false);
	 }
});

// Действия при выборе зоны внутри варианта доставки на этапе оформления заказа
$('.deliveryZoneRadio').bind('click', function(){
	
	 var
	 deliveryId = $(this).attr('deliveryid')
	 ,deliveryZonePrice = $(this).parent().find('.deliveryZonePrice')
	 ,deliveryTbody = $('.orderStageDeliveryListTable tbody[rel="' + deliveryId + '"]')
	 ,deliveryBlock = deliveryTbody.find('#quickDeliveryIdMain' + deliveryId)
	 ,deliveryZonePriceBlock = deliveryTbody.find('.orderStageDeliveryZonePrice')
	 ,deliveryDefaultPriceBlock = deliveryTbody.find('.orderStageDeliveryDefaultPrice')
	 ;

	 // Если этот пункт уже выбран, при повторном клике пользователь видимо хочет снять выделение зоны доставки
	 if('true' == $(this).attr('rel')) {
	 $(this).attr('checked', false);
	 $(this).attr('rel', 'false');
	
	 // Показываем цену по умолчанию
	 deliveryDefaultPriceBlock.show();
	 // Скрываем цену образованную от зоны
	 deliveryZonePriceBlock.hide();
	
	 // Отмечаем у всех радио баттонов зон доставки свойство говорящее что они не отмечены
	 } else {
	 $('.deliveryZoneRadio').attr('rel', 'false');
	 $(this).attr('rel', 'true');
	
	 // Показываем цену по умолчанию
	 deliveryDefaultPriceBlock.hide();
	 // Скрываем цену образованную от зоны
	 deliveryZonePriceBlock.show().html(deliveryZonePrice.html());
	
	 // Выделяем вариант доставки к которому относится зона доставки
	 deliveryBlock.attr('checked', true).click();
	 }
});

// Валидация формы на странице оформления заказа
$("#quickform").submit(function(){
	
	 // Если форма невалидна не отправляем её на сервер
	 if(!$(this).valid()) {
	 return false;
	 }
	
	 // Получаем данные формы, которые будем отправлять на сервер
	 var formData = $(this).serializeArray();
	 // Сообщаем серверу, что мы пришли через ajax запрос
	 formData.push({name: 'ajax_q', value: 1});

	 // Аяксом добавляем товар в корзину и вызываем форму быстрого заказа товара
	 $.ajax({
	 type : "POST",
	 dataType: 'json',
	 cache : false,
	 url : $(this).attr('action'),
	 data : formData,
	 success: function(data) {
		 // Если заказ был успешно создан
		 if( data.status == 'ok' ) {
		 window.location = data.location;
		 } else if( data.status == 'error' ) {
		 alert(data.message);
		 } else {
		 alert('Во время оформления заказа возникла неизвестная ошибка. Пожалуйста, обратитесь в службу технической поддержки.');
		 }
	 }
	 });
	
	 return false;	

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

И проверить на скорость, не заметила, чтобы где-то эта форма использовалась.

К сожалению ничего не изменилось... Так же 3-4 секунды... Катастрофически долго!!! :(

p.s. Когда удалял код прописалась ошибка http://c2n.me/3x23FA0 добавил в 31 строке: {% ENDIF %} - думаю это не сильно критично в плане скоростей...

#9 Yurren

Yurren

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

  • Пользователи
  • PipPipPipPip
  • 1 415 сообщений
  • ГородСамара

Отправлено 17 Апрель 2016 - 20:33

Просмотр сообщенияYurren (17 Апрель 2016 - 20:15) писал:

К сожалению ничего не изменилось... Так же 3-4 секунды... Катастрофически долго!!! :(

p.s. Когда удалял код прописалась ошибка http://c2n.me/3x23FA0 добавил в 31 строке: {% ENDIF %} - думаю это не сильно критично в плане скоростей...

После нововведений, к величайшему сожалению, перестала работать кнопка "продолжить покупки" http://c2n.me/3x25KyE
Сайт стал нерабочий - откатил все обратно...!!!

P.S. Заметил, что когда (очень редко) открывается за 2 секунды - кнопка "продолжить покупки как бы заблокированная - ее нажатие ни к чему не приводит. Такое ощущение, что все равно должно пройти злощастных 4-5 секунд. Может быть это случайность... Или я слишком мнительный... Может и зря откатывал изменения....

#10 Vaccina

Vaccina

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

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

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

Поняла в чем ошибка(моя невнимательность, извиняюсь), в шаблоне Быстрый заказ весь код замените на:
{% IF FORM_NOTICE %}<ul class="messages"><li class="{% IF FORM_NOTICE_IS_GOOD %}success{% ELSE %}error{% ENDIF %}">{FORM_NOTICE | nl2br}</li></ul>{% ENDIF %}

<div class="alignCenter">
<!---<a class="exclusive quickform" id="quickform-order">Оформить заказ</a>-->
<a class="exclusive" href="{CART_URL}" id="button_order_cart" rel="nofollow" title="Оформить заказ"><span>Оформить заказ</span></a>
<a class="exclusive сlose2" id="quickform-close">Продолжить покупки</a>
</div>
<div class="clear"></div>
<!-- Блок для обновления данных корзины. Не виден пользователю -->
<div style="display:none;" id="newCartData">
<div id="shopping_cart">
<a href="{CART_URL}" title="Перейти в корзину">
	 {% IF cart_count_empty %}
	 <span class="ajax_cart_no_product">Корзина пуста</span>
	 {% ELSE %}
	 <span class="ajax_cart_quantity">{CART_COUNT_TOTAL} товар{CART_COUNT_TOTAL | gen_word_end("","а","ов")}</span>
	 {% ENDIF %}	
<span class="down_arrow_dark"></span>
</a>
</div>
</div>
<div style="display:none;" id="newCartHoverData">
<div class="other_cost_wrapper" style="width: 100%">
{% IF cart_count_empty %}
	 <p id="cart_block_no_products">Ваша корзина пуста</p>
{% ELSE %}
	 <span>Товаров </span>
<span class="price" id="cart_block_shipping_cost">{CART_COUNT_TOTAL}</span>
	 <span>на сумму </span>
{% ENDIF %}
<span class="price" id="cart_block_total" style="text-align: right;">{% IF cart_count_empty %}{% ELSE %}{% FOR cart_sum %}{cart_sum.NOW_WITH_DISCOUNT | money_format}{% ENDFOR %}{% ENDIF %}</span>
</div>
</div>
<!-- JS обновление данных корзины -->
<script>
$(document).ready(function(){
$('.сlose2').bind('click', function () {
	 $.fancybox.close();
});
});
$('#header_shopping_cart:first').html($('#newCartData').html());
$('#cart_block_other_costs:first').html($('#newCartHoverData').html());
</script>
<!-- end Блок для обновления данных корзины. Не виден пользователю -->


#11 Yurren

Yurren

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

  • Пользователи
  • PipPipPipPip
  • 1 415 сообщений
  • ГородСамара

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

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

Поняла в чем ошибка(моя невнимательность, извиняюсь), в шаблоне Быстрый заказ весь код замените на:
{% IF FORM_NOTICE %}<ul class="messages"><li class="{% IF FORM_NOTICE_IS_GOOD %}success{% ELSE %}error{% ENDIF %}">{FORM_NOTICE | nl2br}</li></ul>{% ENDIF %}

<div class="alignCenter">
<!---<a class="exclusive quickform" id="quickform-order">Оформить заказ</a>-->
<a class="exclusive" href="{CART_URL}" id="button_order_cart" rel="nofollow" title="Оформить заказ"><span>Оформить заказ</span></a>
<a class="exclusive сlose2" id="quickform-close">Продолжить покупки</a>
</div>
<div class="clear"></div>
<!-- Блок для обновления данных корзины. Не виден пользователю -->
<div style="display:none;" id="newCartData">
<div id="shopping_cart">
<a href="{CART_URL}" title="Перейти в корзину">
	 {% IF cart_count_empty %}
	 <span class="ajax_cart_no_product">Корзина пуста</span>
	 {% ELSE %}
	 <span class="ajax_cart_quantity">{CART_COUNT_TOTAL} товар{CART_COUNT_TOTAL | gen_word_end("","а","ов")}</span>
	 {% ENDIF %}	
<span class="down_arrow_dark"></span>
</a>
</div>
</div>
<div style="display:none;" id="newCartHoverData">
<div class="other_cost_wrapper" style="width: 100%">
{% IF cart_count_empty %}
	 <p id="cart_block_no_products">Ваша корзина пуста</p>
{% ELSE %}
	 <span>Товаров </span>
<span class="price" id="cart_block_shipping_cost">{CART_COUNT_TOTAL}</span>
	 <span>на сумму </span>
{% ENDIF %}
<span class="price" id="cart_block_total" style="text-align: right;">{% IF cart_count_empty %}{% ELSE %}{% FOR cart_sum %}{cart_sum.NOW_WITH_DISCOUNT | money_format}{% ENDFOR %}{% ENDIF %}</span>
</div>
</div>
<!-- JS обновление данных корзины -->
<script>
$(document).ready(function(){
$('.сlose2').bind('click', function () {
	 $.fancybox.close();
});
});
$('#header_shopping_cart:first').html($('#newCartData').html());
$('#cart_block_other_costs:first').html($('#newCartHoverData').html());
</script>
<!-- end Блок для обновления данных корзины. Не виден пользователю -->
Изменил! Примерно 1 секунду выиграли в упорной борьбе! :) Спасибо!
Но все равно около 2,5 секунд.... Все равно ОЧЕнЬ долго!!!!

p.s. А как вариант нельзя поставить какое нибудь например крутящееся колесико после нажатия кнопки - думаю мол, погодите.
Ну очень уж смущает бездействие сайта - из объективного конверсия за 4 месяца упала на треть!!!
Или же стоит, как вариант, попробовать другой шаблон - склоняюсь к лазури.

#12 Vaccina

Vaccina

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

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

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

Можно как вариант, ночью или рано утром изменить дизайн-тему, чтобы протестировать на скорость, можно дорабатывать имеющийся дизайн. В этом случае лучше определиться =))
Можно вместо анимации загрузки изменить текст кнопки "Купить" например на "Подождите" или "Выполняется запрос".




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

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