<div class="delivery__text"></div> </div> <script> var ORDER_DELIVERY = [ {% FOR order_delivery %} { id: '{order_delivery.ID}', name: '{order_delivery.NAME}', desc: '{order_delivery.DESC}', price: '{order_delivery.PRICE}', endPrice: '{order_delivery.END_PRICE}', sumLessPrice: '{order_delivery.SUM_LESS_PRICE}', rulesListEmpty: {order_delivery.rules_list_empty}, rulesList: {% IFNOT order_delivery.rules_list_empty %} [ {% FOR rules_list %} { sumMorePrice: '{order_delivery.rules_list.SUM_MORE_PRICE}', price: '{order_delivery.rules_list.PRICE}', }, {% ENDFOR %} ] {% ELSE %} null {% ENDIF %} ,zoneListEmpty: {order_delivery.zone_list_empty}, zoneList : {% IFNOT order_delivery.zone_list_empty %} [ {% FOR zone_list %} { name: '{order_delivery.zone_list.NAME}', zoneId: '{order_delivery.zone_list.ID}', price: '{order_delivery.zone_list.PRICE}', endPrice: '{order_delivery.zone_list.END_PRICE}', zoneRuleListEmpty: {order_delivery.zone_list.zone_rule_list_empty}, zoneRuleList: {% IFNOT order_delivery.zone_list.zone_rule_list_empty %} [ {% FOR zone_rule_list %} { sumMorePrice: '{order_delivery.zone_list.zone_rule_list.SUM_MORE_PRICE}', price: '{order_delivery.zone_list.zone_rule_list.PRICE}' }, {% ENDFOR %} ] {% ELSE %} null {% ENDIF %} }, {% ENDFOR %} ] {% ELSE %} null {% ENDIF %} ,availablePaymentList: {% IFNOT order_delivery.available_payment_list_empty %} [ {% FOR available_payment_list %} { deliveryId: '{order_delivery.ID}', id: '{order_delivery.available_payment_list.ID}', name: '{order_delivery.available_payment_list.NAME}', message: '{order_delivery.available_payment_list.MESSAGE}' }, {% ENDFOR %} ] {% ELSE %} null {% ENDIF %}, }, {% ENDFOR %} ] </script>
на
<div class="delivery__text"></div> {% FOR order_delivery %} <div class="delivery__hidden-descr _{order_delivery.ID}" style="display:none">{order_delivery.DESC}</div> {% ENDFOR %} </div> <script> var ORDER_DELIVERY = [ {% FOR order_delivery %} { id: '{order_delivery.ID}', name: '{order_delivery.NAME}', price: '{order_delivery.PRICE}', endPrice: '{order_delivery.END_PRICE}', sumLessPrice: '{order_delivery.SUM_LESS_PRICE}', rulesListEmpty: {order_delivery.rules_list_empty}, rulesList: {% IFNOT order_delivery.rules_list_empty %} [ {% FOR rules_list %} { sumMorePrice: '{order_delivery.rules_list.SUM_MORE_PRICE}', price: '{order_delivery.rules_list.PRICE}', }, {% ENDFOR %} ] {% ELSE %} null {% ENDIF %} ,zoneListEmpty: {order_delivery.zone_list_empty}, zoneList : {% IFNOT order_delivery.zone_list_empty %} [ {% FOR zone_list %} { name: '{order_delivery.zone_list.NAME}', zoneId: '{order_delivery.zone_list.ID}', price: '{order_delivery.zone_list.PRICE}', endPrice: '{order_delivery.zone_list.END_PRICE}', zoneRuleListEmpty: {order_delivery.zone_list.zone_rule_list_empty}, zoneRuleList: {% IFNOT order_delivery.zone_list.zone_rule_list_empty %} [ {% FOR zone_rule_list %} { sumMorePrice: '{order_delivery.zone_list.zone_rule_list.SUM_MORE_PRICE}', price: '{order_delivery.zone_list.zone_rule_list.PRICE}' }, {% ENDFOR %} ] {% ELSE %} null {% ENDIF %} }, {% ENDFOR %} ] {% ELSE %} null {% ENDIF %} ,availablePaymentList: {% IFNOT order_delivery.available_payment_list_empty %} [ {% FOR available_payment_list %} { deliveryId: '{order_delivery.ID}', id: '{order_delivery.available_payment_list.ID}', name: '{order_delivery.available_payment_list.NAME}' }, {% ENDFOR %} ] {% ELSE %} null {% ENDIF %}, }, {% ENDFOR %} ] </script>
далее блок
<!-- Способ оплаты --> <section class="quickform__row -payment"> <h3 class="quickform__title">Cпособ оплаты</h3> <div class="quickform-payment"> <div class="quickform__select-box"> {% FOR order_delivery %} {% IFNOT order_delivery.available_payment_list_empty && order_delivery.first %} <select name="form[payment][id]" class="quickform__select payment-select" data-delivery-id="{order_delivery.ID}"> {% FOR available_payment_list %} <option value="{order_delivery.available_payment_list.ID}" {% 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 %}> {order_delivery.available_payment_list.NAME} </option> {% ENDFOR %} </select> {% ENDIF %} {% ENDFOR %} </div> {% FOR order_delivery %} {% IFNOT order_delivery.available_payment_list_empty && order_delivery.first %} {% FOR available_payment_list && available_payment_list.first %} <div class="quickform-payment__desc payment__desc"> {order_delivery.available_payment_list.MESSAGE} </div> {break} {% ENDFOR %} {% ENDIF %} {% ENDFOR %} </div> </section>замените на
<!-- Способ оплаты --> <section class="quickform__row -payment"> <h3 class="quickform__title">Cпособ оплаты</h3> <div class="quickform-payment"> <div class="quickform__select-box"> {% FOR order_delivery %} {% IFNOT order_delivery.available_payment_list_empty && order_delivery.first %} <select name="form[payment][id]" class="quickform__select payment-select" data-delivery-id="{order_delivery.ID}"> {% FOR available_payment_list %} <option value="{order_delivery.available_payment_list.ID}" {% 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 %}> {order_delivery.available_payment_list.NAME} </option> {% ENDFOR %} </select> {% ENDIF %} {% ENDFOR %} </div> <div class="quickform-payment__desc payment__desc"> </div> {% FOR order_delivery %} <div class="payment-descr__hidden _{order_delivery.ID}" style="display:none"> {% IFNOT order_delivery.available_payment_list_empty %} {% FOR available_payment_list %} <div class="payment-descr__hidden-item _{order_delivery.available_payment_list.ID}"> {order_delivery.available_payment_list.MESSAGE} </div> {% ENDFOR %} {% ENDIF %} </div> {% ENDFOR %} </div> </section>
далее в файле main.js
function renderPaymentSelect(clearTemplate) { var $paymentSelect = $('.payment-select'); var $paymentDescr = $('.payment__desc'); $paymentSelect.data('delivery-id', CURRENT_DELIVERY.id); $paymentSelect.styler('destroy'); $paymentSelect.html(''); if (clearTemplate) { var $option = $('<option>').val('').text('Не задан метод оплаты'); $paymentSelect.append($option); $paymentSelect.prop('disabled', true) $paymentDescr.hide(); } else { $paymentSelect.prop('disabled', false) $paymentDescr.show(); } if (CURRENT_DELIVERY.availablePaymentList.length) { $.each(CURRENT_DELIVERY.availablePaymentList, function(i, item) { var $option = $('<option>').val(item.id).text(item.name); $paymentSelect.append($option); if (i == 0) { $paymentDescr.html(item.message); } }); } $paymentSelect.styler() } function changePaymentSelect(paymentId) { var $paymentDescrBlock = $('.payment__desc'); var currentPayment = $.grep(CURRENT_DELIVERY.availablePaymentList, function(item, i) { return item.id === String(paymentId) })[0] $paymentDescrBlock.html(currentPayment.message); }замените на
function renderPaymentSelect(clearTemplate) { var $paymentSelect = $('.payment-select'); var $paymentDescr = $('.payment__desc'); $paymentSelect.data('delivery-id', CURRENT_DELIVERY.id); $paymentSelect.styler('destroy'); $paymentSelect.html(''); if (clearTemplate) { var $option = $('<option>').val('').text('Не задан метод оплаты'); $paymentSelect.append($option); $paymentSelect.prop('disabled', true) $paymentDescr.hide(); } else { $paymentSelect.prop('disabled', false) $paymentDescr.show(); } if (CURRENT_DELIVERY.availablePaymentList.length) { $.each(CURRENT_DELIVERY.availablePaymentList, function(i, item) { var $option = $('<option>').val(item.id).text(item.name); $paymentSelect.append($option); if (i == 0) { var currentPaymentMessage = $('.payment-descr__hidden').filter('._' + CURRENT_DELIVERY.id).find('.payment-descr__hidden-item').first().html(); $paymentDescr.html(currentPaymentMessage); } }); } $paymentSelect.styler() } function changePaymentSelect(paymentId) { var $paymentDescrBlock = $('.payment__desc'); var currentPaymentMessage = $('.payment-descr__hidden').filter('._' + CURRENT_DELIVERY.id).find('.payment-descr__hidden-item').filter('._' + paymentId).html(); $paymentDescrBlock.html(currentPaymentMessage); }
далее
function changeCartSum() { var currentPriceWithoutChange = Number($('.cart__sum .total-sum').data('total-sum')); var deliveryPrice = Number(getCurrentDeliveryPrice()); var discountPrice = Number($('.cart__sum .cart__sum--discount .cart__sum-text-price').data('discount-value')); // Заполняем стоимость доставки $('.cart__sum .cart__sum--delivery-sum .num').text(addSpaces(deliveryPrice)); $('.delivery__descr .delivery__price .num').text(addSpaces(deliveryPrice)); // Описание доставки if (CURRENT_DELIVERY) { $('.delivery__descr .delivery__text').html(CURRENT_DELIVERY.desc); } var priceNow = (currentPriceWithoutChange + deliveryPrice) - discountPrice; if (priceNow < 0) { priceNow = 0; } // console.log('priceNow',priceNow) $('.cart__sum .total-sum').find('.num').text(addSpaces(Math.round(priceNow))); }замените на
function changeCartSum() { var currentPriceWithoutChange = Number($('.cart__sum .total-sum').data('total-sum')); var deliveryPrice = Number(getCurrentDeliveryPrice()); var discountPrice = Number($('.cart__sum .cart__sum--discount .cart__sum-text-price').data('discount-value')); // Заполняем стоимость доставки $('.cart__sum .cart__sum--delivery-sum .num').text(addSpaces(deliveryPrice)); $('.delivery__descr .delivery__price .num').text(addSpaces(deliveryPrice)); // Описание доставки if (CURRENT_DELIVERY) { var descriptionHtml = $('.delivery__hidden-descr').filter('._' + CURRENT_DELIVERY.id).html(); $('.delivery__descr .delivery__text').html(descriptionHtml); } // Описание оплаты if(CURRENT_DELIVERY){ var $paymentDescr = $('.payment__desc'); var currentPaymentMessage = $('.payment-descr__hidden').filter('._' + CURRENT_DELIVERY.id).find('.payment-descr__hidden-item').first().html(); $paymentDescr.html(currentPaymentMessage); } var priceNow = (currentPriceWithoutChange + deliveryPrice) - discountPrice; if (priceNow < 0) { priceNow = 0; } // console.log('priceNow',priceNow) $('.cart__sum .total-sum').find('.num').text(addSpaces(Math.round(priceNow))); }