templates/cart/block/cart-block-scripts.html.twig line 1

Open in your IDE?
  1. <script{% if args[0] != 'checkout' %} type="module"{% endif %}>
  2.     {% if args[0] != 'checkout' %}
  3.     import $ from "/node_modules/jquery";
  4.     {% endif %}
  5.     function deliveryPriceCount(subdelivery_id) {
  6.         var freedelivery = '{{ labels.get('freedelivery')|raw }}';
  7.         var minprice = '?';
  8.         {% for delivery in deliveries %}
  9.         var minprice_{{ delivery.id }} = '?';
  10.         {% if delivery.subdeliveries|length %}
  11.         {% for subdelivery in delivery.subdeliveries %}
  12.         $.ajax('/'+locale+'/api/delivery/getprice?city={{ checkout.getCity_post_code }}&delivery_id={{ delivery.intname }}&subdelivery_id={{ subdelivery.code }}&weight={{ cart.getWeight }}&amount={{ cart.getAmount }}').done(function (data) {
  13.             if(data.status=='ok') {
  14.                 /* cart blocks */
  15.                 if (data.sum == 0) {
  16.                     minprice_{{ delivery.id }} = freedelivery;
  17.                     $('.cart-delivery-price-{{ delivery.id }}').closest('span.cart-delivery-price-c').text(minprice_{{ delivery.id }});
  18.                 } else if ((minprice_{{ delivery.id }} == '?') || (minprice_{{ delivery.id }} > parseFloat(data.sum))) {
  19.                     minprice_{{ delivery.id }} = parseFloat(data.sum);
  20.                     $('.cart-delivery-price-{{ delivery.id }}').text(minprice_{{ delivery.id }});
  21.                 }
  22.                 if(data.sum==0) {
  23.                     minprice = freedelivery;
  24.                     $('.cart-deliveries-price').closest('a').text(minprice);
  25.                 } else if ((minprice == '?') || (minprice > parseFloat(data.sum))) {
  26.                     minprice = parseFloat(data.sum);
  27.                     $('.cart-deliveries-price').text(minprice);
  28.                 }
  29.                 /* cart blocks */
  30.                 /* checkout page blocks */
  31.                 if (data.sum == 0) {
  32.                     $('.subdelivery-price-{{ delivery.id }}-{{ subdelivery.id }}').parent().text(freedelivery);
  33.                     $('.subdelivery-item-{{ subdelivery.id }}').attr('data-price', data.sum);
  34.                     $('.checkout-delivery-item-{{ delivery.id }} .cdi-price').text(freedelivery);
  35.                     $('.checkout-delivery-item-{{ delivery.id }} .cdi-price').addClass('active');
  36.                 } else {
  37.                     $('.subdelivery-price-{{ delivery.id }}-{{ subdelivery.id }}').text(data.sum);
  38.                     $('.subdelivery-item-{{ subdelivery.id }}').attr('data-price', data.sum);
  39.                     if (($('.checkout-delivery-item-{{ delivery.id }} .cdi-price span').text() == '?') || (parseFloat($('.checkout-delivery-item-{{ delivery.id }} .cdi-price span').text()) > parseFloat(data.sum))) {
  40.                         $('.checkout-delivery-item-{{ delivery.id }} .cdi-price span').text(data.sum);
  41.                         $('.checkout-delivery-item-{{ delivery.id }} .cdi-price').addClass('active');
  42.                     }
  43.                 }
  44.                 if(subdelivery_id=={{ subdelivery.id }}) {
  45.                     $('.delivery-term-{{ delivery.id }}').text(data.term);
  46.                 }
  47.                 $('.subdelivery-term-{{ subdelivery.id }}').text(data.term);
  48.                 /* checkout page blocks */
  49.             } else {
  50.                 $('.subdelivery-item-{{ subdelivery.id }}').remove();
  51.             }
  52.         });
  53.         {% endfor %}
  54.         {% else %}
  55.         $.ajax('/'+locale+'/api/delivery/getprice?city={{ checkout.getCity_post_code }}&delivery_id={{ delivery.intname }}&weight={{ cart.getWeight }}&amount={{ cart.getAmount }}').done(function (data) {
  56.             if(data.status=='ok') {
  57.                 /* cart blocks */
  58.                 if(data.sum==0) {
  59.                     minprice_{{ delivery.id }} = freedelivery;
  60.                     $('.cart-delivery-price-{{ delivery.id }}').closest('span.cart-delivery-price-c').text(minprice_{{ delivery.id }});
  61.                 } else {
  62.                     minprice_{{ delivery.id }} = parseFloat(data.sum);
  63.                     $('.cart-delivery-price-{{ delivery.id }}').text(minprice_{{ delivery.id }});
  64.                 }
  65.                 {% if delivery.intname != 'pick' %}
  66.                 if (data.sum == 0) {
  67.                     minprice = freedelivery;
  68.                     $('.cart-deliveries-price').closest('a').text(minprice);
  69.                     $('.cart-deliveries-price').closest('a').text(minprice);
  70.                 } else if ((minprice == '?') || (minprice > parseFloat(data.sum))) {
  71.                     minprice = parseFloat(data.sum);
  72.                     $('.cart-deliveries-price').text(minprice);
  73.                 }
  74.                 {% endif %}
  75.                 /* cart blocks */
  76.                 /* checkout page blocks */
  77.                 if (data.sum == 0) {
  78.                     $('.checkout-delivery-item-{{ delivery.id }} .cdi-price').text(freedelivery);
  79.                     $('.checkout-delivery-item-{{ delivery.id }} .cdi-price').addClass('active');
  80.                 } else {
  81.                     if (($('.checkout-delivery-item-{{ delivery.id }} .cdi-price span').text() == '?') || (parseFloat($('.checkout-delivery-item-{{ delivery.id }} .cdi-price span').text()) > parseFloat(data.sum))) {
  82.                         $('.checkout-delivery-item-{{ delivery.id }} .cdi-price span').text(parseFloat(data.sum));
  83.                         $('.checkout-delivery-item-{{ delivery.id }} .cdi-price').addClass('active');
  84.                         $('.checkout-delivery-item-{{ delivery.id }}').attr('data-price', data.sum);
  85.                     }
  86.                 }
  87.                 $('.delivery-term-{{ delivery.id }}').text(data.term);
  88.                 /* checkout page blocks */
  89.             } else {
  90.                 $('.checkout-delivery-item-{{ delivery.id }}').parent().remove();
  91.             }
  92.         });
  93.         {% endif %}
  94.         {% endfor %}
  95.     }
  96.     $( document ).ready(function() {
  97.         deliveryPriceCount();
  98.     });
  99. </script>