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


Бегунок При Выборе Доставки


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

#21 mark03

mark03

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

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

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

Просмотр сообщенияKoderhan (24 Сентябрь 2013 - 08:48) писал:

Попробуйте в конец файла "main.js" добавить код:
$(function(){
																					 $('.deliveryZoneRadio').change(function(){
																					 console.log('ok');
																					 $(this).attr('name', 'form[delivery][zone_id]');
																					 });
																				 });
И в файле "Оформление заказа" код:
										 <select style="margin-left:0;" class="deliveryZoneRadio" data-deliveryid="{order_delivery.ID}" name="form[delivery][zone_id]" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}class="required"{% ENDIF %} value="0">
																								 <option value="0" data-price="{order_delivery.END_PRICE | number_format("0", ",", " ")}"> - выберите зону доставки - </option>
																								 {% FOR zone_list %}
																								 <option value="{order_delivery.zone_list.ID}" data-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>
Заменить:
										 <select style="margin-left:0;" class="deliveryZoneRadio" data-deliveryid="{order_delivery.ID}" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}class="required"{% ENDIF %} value="0">
																								 <option value="0" data-price="{order_delivery.END_PRICE | number_format("0", ",", " ")}"> - выберите зону доставки - </option>
																								 {% FOR zone_list %}
																								 <option value="{order_delivery.zone_list.ID}" data-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>

при добавлении
$(function(){

слайдер перекрывается, сделал бэкап за 22 число

#22 Koderhan

Koderhan

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

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

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

Тогда попробуйте в файле "main.js" после кода:
$(document).ready(function(){
Добавить код:
$('.deliveryZoneRadio').change(function() {
	console.log('ok');
	$(this).attr('name', 'form[delivery][zone_id]');
});
И выполнить изменения в файле "Оформление заказа" предложенные выше в этой теме.

#23 mark03

mark03

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

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

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

Просмотр сообщенияKoderhan (24 Сентябрь 2013 - 11:51) писал:

Тогда попробуйте в файле "main.js" после кода:
$(document).ready(function(){
Добавить код:
$('.deliveryZoneRadio').change(function() {
console.log('ok');
$(this).attr('name', 'form[delivery][zone_id]');
});
И выполнить изменения в файле "Оформление заказа" предложенные выше в этой теме.

Добавил, изменения выполнил, слайдер работает, бегунок не цепляет выбор.
Так же вопрос, как добавить скидку по купонам в корзину и работа с ней.
Спасибо!

#24 Stasya

Stasya

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

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

Отправлено 24 Сентябрь 2013 - 12:34

Чтобы добавить скидку по купонам Вам нужно зайти в раздел Заказы -> Акции и там включить данную скидку и прописать ключ купона. После этого у Вас автоматически в корзине появиться поле для ввода ключа купона.

#25 mark03

mark03

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

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

Отправлено 24 Сентябрь 2013 - 12:48

Просмотр сообщенияStasya (24 Сентябрь 2013 - 12:34) писал:

Чтобы добавить скидку по купонам Вам нужно зайти в раздел Заказы -> Акции и там включить данную скидку и прописать ключ купона. После этого у Вас автоматически в корзине появиться поле для ввода ключа купона.

Я так и сделал,но ничего не отображается

#26 Stasya

Stasya

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

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

Отправлено 24 Сентябрь 2013 - 13:58

Просмотр сообщенияmark03 (24 Сентябрь 2013 - 12:48) писал:

Я так и сделал,но ничего не отображается

У Вас выключена скидка по купонам. Поэтому зайдите в раздел Заказы-> Скидки и включите ее.

#27 mark03

mark03

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

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

Отправлено 24 Сентябрь 2013 - 14:18

Просмотр сообщенияStasya (24 Сентябрь 2013 - 13:58) писал:

У Вас выключена скидка по купонам. Поэтому зайдите в раздел Заказы-> Скидки и включите ее.

извиняюсь, все работает, тока при выборе оплаты, вот шагом бы назад, было бы супер

и бегунок не цепляет выбор...(((

#28 Vaccina

Vaccina

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

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

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

Пожалуйста, почитайте внимательно тему форума http://forum.storela...__20#entry84928

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

В файле main.js удалите

$('.deliveryZoneRadio').change(function() {
console.log('ok');
$(this).attr('name', 'form[delivery][zone_id]');
});

и добавьте атрибут name непосредственно в тег <select> Тег должен выглядеть так

<select style="margin-left:0;" class="deliveryZoneRadio" data-deliveryid="{order_delivery.ID}" name="form[delivery][zone_id]" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}class="required"{% ENDIF %}>


#29 mark03

mark03

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

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

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

Добрый день, Vaccina!

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

Я сделал,

<!-- Шаг 2. Доставка -->
         {% IF ORDER_STAGE_NUM=2%}
         <div class="orderStageDelivery">
                 <h3>Выберите удобный для вас способ доставки</h3>
                 <div class="orderInfo">
                
                 <table class="orderStageDeliveryListTable">
                         {% FOR order_delivery %}
                         <tbody rel="{order_delivery.ID}">
                                 <tr>
                                 <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}">{order_delivery.NAME}</label>
                                 </td>
                                 <td rowspan="2" class="cell3 num">
                                         + <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>
                                 <tr>
                                 <td class="cell4">{order_delivery.DESC}</td>
                                 </tr>
                                 {% IFNOT order_delivery.zone_list_empty %}
                                 {% FOR zone_list %}
                                 <tr>
                                         <td></td>
                                         <td class="cell5">
                                        
                                         <!-- Заголовок внутри метода доставки, появляется только один раз-->
                                         {% IF order_delivery.zone_list.index=1 %}
                                                 <label class="orderStageDeliveryZoneHeader" for="deliveryId{order_delivery.ID}">Зоны доставки</label>
                                         {% ENDIF %}
                                        
                                         <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" for="deliveryZoneId{order_delivery.zone_list.ID}">
                                                 {order_delivery.zone_list.NAME}
                                                 <span class="deliveryZonePrice">{order_delivery.zone_list.END_PRICE | money_format}</span>
                                         </label>
                                         </td>

                                 </tr>
                                 {% ENDFOR %}
                                 {% ENDIF %}
                         </tbody>
                         {% ENDFOR %}
                 </table>
                 </div>
и замените его на
<!-- Шаг 2. Доставка -->
         {% IF ORDER_STAGE_NUM=2%}
         <div class="orderStageDelivery">
                 <h3>Выберите удобный для вас способ доставки</h3>
                 <div class="orderInfo">
                
                 <table class="orderStageDeliveryListTable">
                         {% FOR order_delivery %}
                         <tbody rel="{order_delivery.ID}">
                                 <tr>
                                 <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}">{order_delivery.NAME}</label>
                                 </td>
                                 <td rowspan="2" class="cell3 num">
                                         + <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>
                                 <tr>
                                 <td class="cell4">{order_delivery.DESC}</td>
                                 </tr>
                                 {% IFNOT order_delivery.zone_list_empty %}
                                 <tr>
                                         <td></td>
                                         <td class="cell5">
                                         <select style="margin-left:0;" class="deliveryZoneRadio" data-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}" data-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>
                

Теперь в  файле main.js вставьте блок
// Смена стоимости доставки при выборе конкретной зоны доставки
$('.orderInfo select').change(function(){
var value = $(this).find('option:selected').attr('data-price');
$('tbody[rel="' + $(this).attr('data-deliveryid') + '"] .orderStageDeliveryDefaultPrice .num').text(value);

// Установка шарика на пункт зоны доставки
$('#deliveryId' + $(this).attr('data-deliveryid')).click();

});
после блока
// Действия при выборе варианта доставки на этапе оформления заказа
$('.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('data-price');
$('tbody[rel="' + $(this).attr('data-deliveryid') + '"] .orderStageDeliveryDefaultPrice .num').text(value);
// Установка шарика на пункт зоны доставки
$('#deliveryId' + $(this).attr('data-deliveryid')).click();
});
в файле main.js вставьте после блока
// Действия при выборе варианта доставки на этапе оформления заказа
$('.deliveryRadio').click(function(){

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

$(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);
         });
  }
});
В файле main.js найдите блок
// Смена стоимости доставки при выборе конкретной зоны доставки
$('.orderInfo select').change(function(){
var value = $(this).find('option:selected').attr('data-price');
$('tbody[rel="' + $(this).attr('data-deliveryid') + '"] .orderStageDeliveryDefaultPrice .num').text(value);
// Установка шарика на пункт зоны доставки
$('#deliveryId' + $(this).attr('data-deliveryid')).click();
});
и замените его на
// Смена стоимости доставки при выборе конкретной зоны доставки
$('.orderInfo select').change(function(){
var value = $(this).find('option:selected').attr('data-price');

$('tbody[rel="' + $(this).attr('data-deliveryid') + '"] .orderStageDeliveryDefaultPrice .num').text(value).parent().parent().show();
$('tbody[rel="' + $(this).attr('data-deliveryid') + '"] .orderStageDeliveryZonePrice:visible').hide();
// Установка шарика на пункт зоны доставки
$('#deliveryId' + $(this).attr('data-deliveryid')).click();
// ставим куки
setCookie('delivery_zone_id', $(this).find('option:selected').attr('value'));
});


// Если есть куки
if(getCookie('delivery_zone_id')){
// находим значение варианта оплаты по куки файлу
// устанавливаем в селект поле нужный пункт
// выполняем JS действие при изменении поля варианта оплаты
$('.orderInfo select > option[value="' + getCookie('delivery_zone_id') + '"]').parent().val(getCookie('delivery_zone_id')).change();
}

В самое начало main.js вставьте блок
function setCookie(name, value, expires, path, domain, secure) {
        if (!name || !value) return false;
        var str = name + '=' + encodeURIComponent(value);
  
        if (expires) str += '; expires=' + expires.toGMTString();
        if (path)       str += '; path=' + path;
        if (domain)  str += '; domain=' + domain;
        if (secure)  str += '; secure';
  
        document.cookie = str;
        return true;
}
function getCookie(name) {
        var pattern = "(?:; )?" + name + "=([^;]*);?";
        var regexp  = new RegExp(pattern);
  
        if (regexp.test(document.cookie))
        return decodeURIComponent(RegExp["$1"]);
  
        return false;
}
Проблема вероятно в данном случае связана с дубликатом имени поля. Так как по умолчанию выпадающий список активен, то отправляется сразу 2 заполненных поля. Необходимо сделать блокировку неактивных списков, и делать их активными только когда выбирается способ доставки. Попробуйте добавить в ваш файл main.js следующий код

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

#30 Сake

Сake

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

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

Отправлено 26 Сентябрь 2013 - 04:25

Найдите в шаблоне "Оформление заказа" следующий код

{% IFNOT order_delivery.zone_list_empty %}
								 <tr>
										 <td></td>
										 <td class="cell5">
<select style="margin-left:0;" class="deliveryZoneRadio" data-deliveryid="{order_delivery.ID}" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}class="required"{% ENDIF %} value="0">
																																																 <option value="0" data-price="{order_delivery.END_PRICE | number_format("0", ",", " ")}"> - выберите зону доставки - </option>
																																																 {% FOR zone_list %}
																																																 <option value="{order_delivery.zone_list.ID}" data-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 %}

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

{% IFNOT order_delivery.zone_list_empty %}
								 <tr>
										 <td></td>
										 <td class="cell5">
										 <select style="margin-left:0;" class="deliveryZoneRadio" data-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}" data-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 %}

далее в main.js вставьте

$(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);
		 });
  }
});
$(function() {
   $('.deliveryRadio').click(function() {
		   $('.deliveryZoneRadio').attr('disabled', 'disabled');
		   $(this).closest('tbody').find('.deliveryZoneRadio').removeAttr('disabled');
   });
   $('.deliveryRadio:checked').trigger('click');
});

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

// Смена стоимости доставки при выборе конкретной зоны доставки
$('.orderInfo select').change(function(){
var value = $(this).find('option:selected').attr('data-price');
$('tbody[rel="' + $(this).attr('data-deliveryid') + '"] .orderStageDeliveryDefaultPrice .num').text(value);
// Установка шарика на пункт зоны доставки
$('#deliveryId' + $(this).attr('data-deliveryid')).click();
});

и замените на

function setCookie(name, value, expires, path, domain, secure) {
		if (!name || !value) return false;
		var str = name + '=' + encodeURIComponent(value);
  
		if (expires) str += '; expires=' + expires.toGMTString();
		if (path)	   str += '; path=' + path;
		if (domain)  str += '; domain=' + domain;
		if (secure)  str += '; secure';
  
		document.cookie = str;
		return true;
}
function getCookie(name) {
		var pattern = "(?:; )?" + name + "=([^;]*);?";
		var regexp  = new RegExp(pattern);
  
		if (regexp.test(document.cookie))
		return decodeURIComponent(RegExp["$1"]);
  
		return false;
}
// Смена стоимости доставки при выборе конкретной зоны доставки
$('.orderInfo select').change(function(){
var value = $(this).find('option:selected').attr('data-price');
$('tbody[rel="' + $(this).attr('data-deliveryid') + '"] .orderStageDeliveryDefaultPrice .num').text(value).parent().parent().show();
$('tbody[rel="' + $(this).attr('data-deliveryid') + '"] .orderStageDeliveryZonePrice:visible').hide();
// Установка шарика на пункт зоны доставки
$('#deliveryId' + $(this).attr('data-deliveryid')).click();
// ставим куки
setCookie('delivery_zone_id', $(this).find('option:selected').attr('value'));
});

// Если есть куки
if(getCookie('delivery_zone_id')){
// находим значение варианта оплаты по куки файлу
// устанавливаем в селект поле нужный пункт
// выполняем JS действие при изменении поля варианта оплаты
$('.orderInfo select > option[value="' + getCookie('delivery_zone_id') + '"]').parent().val(getCookie('delivery_zone_id')).change();
}


#31 mark03

mark03

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

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

Отправлено 26 Сентябрь 2013 - 08:14

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

Найдите в шаблоне "Оформление заказа" следующий код

{% IFNOT order_delivery.zone_list_empty %}
								 <tr>
										 <td></td>
										 <td class="cell5">
<select style="margin-left:0;" class="deliveryZoneRadio" data-deliveryid="{order_delivery.ID}" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}class="required"{% ENDIF %} value="0">
																																																 <option value="0" data-price="{order_delivery.END_PRICE | number_format("0", ",", " ")}"> - выберите зону доставки - </option>
																																																 {% FOR zone_list %}
																																																 <option value="{order_delivery.zone_list.ID}" data-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 %}

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

{% IFNOT order_delivery.zone_list_empty %}
								 <tr>
										 <td></td>
										 <td class="cell5">
										 <select style="margin-left:0;" class="deliveryZoneRadio" data-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}" data-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 %}

далее в main.js вставьте

$(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);
		 });
}
});
$(function() {
$('.deliveryRadio').click(function() {
		 $('.deliveryZoneRadio').attr('disabled', 'disabled');
		 $(this).closest('tbody').find('.deliveryZoneRadio').removeAttr('disabled');
});
$('.deliveryRadio:checked').trigger('click');
});

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

// Смена стоимости доставки при выборе конкретной зоны доставки
$('.orderInfo select').change(function(){
var value = $(this).find('option:selected').attr('data-price');
$('tbody[rel="' + $(this).attr('data-deliveryid') + '"] .orderStageDeliveryDefaultPrice .num').text(value);
// Установка шарика на пункт зоны доставки
$('#deliveryId' + $(this).attr('data-deliveryid')).click();
});

и замените на

function setCookie(name, value, expires, path, domain, secure) {
	 if (!name || !value) return false;
	 var str = name + '=' + encodeURIComponent(value);

	 if (expires) str += '; expires=' + expires.toGMTString();
	 if (path)	 str += '; path=' + path;
	 if (domain) str += '; domain=' + domain;
	 if (secure) str += '; secure';

	 document.cookie = str;
	 return true;
}
function getCookie(name) {
	 var pattern = "(?:; )?" + name + "=([^;]*);?";
	 var regexp = new RegExp(pattern);

	 if (regexp.test(document.cookie))
	 return decodeURIComponent(RegExp["$1"]);

	 return false;
}
// Смена стоимости доставки при выборе конкретной зоны доставки
$('.orderInfo select').change(function(){
var value = $(this).find('option:selected').attr('data-price');
$('tbody[rel="' + $(this).attr('data-deliveryid') + '"] .orderStageDeliveryDefaultPrice .num').text(value).parent().parent().show();
$('tbody[rel="' + $(this).attr('data-deliveryid') + '"] .orderStageDeliveryZonePrice:visible').hide();
// Установка шарика на пункт зоны доставки
$('#deliveryId' + $(this).attr('data-deliveryid')).click();
// ставим куки
setCookie('delivery_zone_id', $(this).find('option:selected').attr('value'));
});

// Если есть куки
if(getCookie('delivery_zone_id')){
// находим значение варианта оплаты по куки файлу
// устанавливаем в селект поле нужный пункт
// выполняем JS действие при изменении поля варианта оплаты
$('.orderInfo select > option[value="' + getCookie('delivery_zone_id') + '"]').parent().val(getCookie('delivery_zone_id')).change();
}

Cake, Вы не в первый раз выручаете!Огромное спасибо!

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

Cake, Вы не в первый раз выручаете!Огромное спасибо!

Купон на скидку можно в корзину перенести?

#32 miyako

miyako

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

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

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

Просмотр сообщенияmark03 (26 Сентябрь 2013 - 08:14) писал:

Cake, Вы не в первый раз выручаете!Огромное спасибо!



Купон на скидку можно в корзину перенести?

К сожалению, нет.

#33 mark03

mark03

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

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

Отправлено 26 Сентябрь 2013 - 22:40

Просмотр сообщенияmiyako (26 Сентябрь 2013 - 10:45) писал:

К сожалению, нет.

Понял.

количество товаров на странице можно уменьшить с 20 на 18?

#34 Сake

Сake

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

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

Отправлено 27 Сентябрь 2013 - 00:27

Вам необходимо в разделе Настройки -> Основные - изменить опцию "Шаг для выбора пользователем лимита выдачи товаров на страницу от 1 до 100" задав ей значение 18.

#35 mark03

mark03

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

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

Отправлено 27 Сентябрь 2013 - 01:09

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

Вам необходимо в разделе Настройки -> Основные - изменить опцию "Шаг для выбора пользователем лимита выдачи товаров на страницу от 1 до 100" задав ей значение 18.

понял.
и последнее)) выровнять "отзывы" по отношению к другим "каталог", "сравнить товары"

#36 Сake

Сake

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

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

Отправлено 27 Сентябрь 2013 - 05:09

Найдите в шаблоне "HTML" код

<br /><a href="http://{NET_DOMAIN}/goods/otzyvy" style="color: #c98700; font-size:25px;" class="moder2">Отзывы</a>
<div id="insert-goods-opinion-list"></div>

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

<div class="recent_viewed">
				<div style="margin-left: 0px; width:248px; height:34px;">
				  <div style="padding: 8px 0px 0px 17px;">
				   <span style="color: #c98700; font-size:25px;"><a href="http://{NET_DOMAIN}/goods/otzyvy" style="color: #c98700; font-size:25px;" class="moder2">Отзывы</a></span>
										  </div>
				</div>
		
										<div id="insert-goods-opinion-list"></div>
								  </div>


#37 mark03

mark03

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

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

Отправлено 27 Сентябрь 2013 - 13:57

Cake, спасибо!




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

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