templates/Slivki/delivery/order.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block stylesheets %}
  3.     {{ parent() }}
  4.     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-toast-plugin/1.3.2/jquery.toast.min.css"
  5.           integrity="sha512-wJgJNTBBkLit7ymC6vvzM1EcSWeM9mmOu+1USHaRBbHkm6W9EgM0HY27+UtUaprntaYQJF75rc8gjxllKs5OIQ=="
  6.           crossorigin="anonymous" referrerpolicy="no-referrer"/>
  7.     <link href="/css/delivery.min.css?v={{ delivery_css_version }}" rel="stylesheet" type="text/css"/>
  8.     <link href="/css/order_page.min.css?v={{ order_page_css_version }}" rel="stylesheet" type="text/css"/>
  9.     <link href="/css/orderAsGift.min.css?v={{ order_as_gift_css }}" rel="stylesheet" type="text/css"/>
  10. {% endblock %}
  11. {% block left_sidebar %}{% endblock %}
  12. {% block messenger %}{% endblock %}
  13. {% block content %}
  14.     {% if offer.isWithoutCodes() %}
  15.         <input type="hidden" id="isWithoutCodes">
  16.     {% endif %}
  17.     {% if isFirstSosediPurchase is defined and isFirstSosediPurchase %}
  18.         <input type="hidden" id="isFirstSosediPurchase">
  19.     {% endif %}
  20.     {% if isCertificate is defined and isCertificate %}
  21.         <input id="isCertificate" type="hidden" value="">
  22.     {% endif %}
  23.     {% if director is defined %}
  24.         <input type="hidden" id="companyNameOffer" value="{{ director.getName()|e }}">
  25.     {% endif %}
  26.     {% if isAvailableOnFood is defined and isAvailableOnFood %}
  27.         <input type="hidden" id="isAvailableOnFood" value="true">
  28.     {% endif %}
  29.     <div class="delivery-page container sf-font">
  30.         <div id="deliveryContent" class="js-delivery-teasers">
  31.             <div class="breadcrumbs sf-text-font">
  32.                 <a href="{{ base_url }}">Главная</a>
  33.                 {% if categoryName != null %}
  34.                     <i class="fa fa-angle-right"></i>&nbsp;<a href="{{ categoryURL }}">{{ categoryName }}</a>
  35.                 {% endif %}
  36.                 <i class="fa fa-angle-right"></i>&nbsp;<a
  37.                         href="{{ getURL(constant('Slivki\\Repository\\SeoRepository::RESOURCE_URL_OFFER_DETAILS'), offer.getID()) }}">{{ offer.getCompanyName() }}</a>
  38.                 <i class="fa fa-angle-right"></i>&nbsp;<a href="javascript:;">Онлайн заказ</a>
  39.             </div>
  40.             <div class="clear"></div>
  41.             {% if isCertificate is defined and isCertificate %}
  42.                 <div id="deliverySupplierCard" class="rounded-14">
  43.                     <div class="gradient rounded-14"></div>
  44.                     <div class="card-img rounded-14">
  45.                         <img class="w-100 rounded-14" src="{{ getImageURL(offer.getTopBlockMedia(), 0, 0) }}"/>
  46.                     </div>
  47.                     <div class="delivery-supplier--logo"
  48.                          style="background-image: url('{{ getImageURL(logoMedia, 0, 0) }}')"
  49.                     >
  50.                     </div>
  51.                     <div class="delivery-supplier--rating">
  52.                         <i class="slivki-icon-star">{{ offer.getRating() }}</i>
  53.                         <span class="pl-2"><i
  54.                                     class="slivki-icon slivki-icon-users"></i>{{ purchaseCountMonth is defined ? purchaseCountMonth : offer.getUsedCodesCount() }}</span>
  55.                         <span class="pl-2"><i class="slivki-icon-eye"></i>{{ visitCount }}</span>
  56.                     </div>
  57.                     <div class="delivery-supplier--text sf-bold-font"></div>
  58.                     <div class="delivery-supplier--info">
  59.                         <i class="slivki-icon-info-circled-o"></i><span>Информация о компании</span>
  60.                         <div class="supplier-info-tooltip arrow-box">
  61.                             <div class="mb-2 sf-bold-font">{{ director.getName() }}</div>
  62.                             <div class="text-muted">{{ director.getLegalEntity() }} УНП {{ director.getTaxID() }}</div>
  63.                         </div>
  64.                     </div>
  65.                 </div>
  66.             {% else %}
  67.                 <div class="py-2 px-0 sf-font">
  68.                     <div class="brand-block">
  69.                         <div id="mapOrderPage" class="d-none" style="height: 210px;" data-toggle="modal"
  70.                              data-target="#mapsModal"></div>
  71.                     </div>
  72.                 </div>
  73.             {% endif %}
  74.             {% if isCertificate is not defined or not isCertificate %}
  75.                 <div id="fixedFiltersOffer" class="w-auto px-2 d-flex"
  76.                      style="position: relative;background: linear-gradient(180deg, #A839FF 0%, #6747e5 100%), #6747E5;border-radius: 8px;">
  77.                     <div class="col d-flex align-items-center text-white justify-content-end px-0">
  78.                         <p class="col mb-0 px-0 text-filter-tittle">⚡️ Используй супер-фильтр</p>
  79.                         <div class="position-relative ordder-page-filter-block">
  80.                             <div class="ordder-page-filter py-1 mx-2">
  81.                                 <f class="text-filter">Сравни 🔥</f>
  82.                             </div>
  83.                             <div class="filter-items-block filter-items px-2 py-2" style="display: none">
  84.                                 <div class="filter-items-wrapper">
  85.                                     {% include 'Slivki/online_order/_online_order_sort.html.twig' %}
  86.                                 </div>
  87.                             </div>
  88.                         </div>
  89.                     </div>
  90.                     <div class="switch-delivery-pickup-block px-0 {% if not offer.getBrandboxEnabled() %}d-none{% endif %}">
  91.                         <a class="switch-delivery-pickup-item button-tab-delivery delivery-type active">
  92.                             <p>Доставка</p>
  93.                             <small>удобно👌</small>
  94.                         </a>
  95.                         <a class="switch-delivery-pickup-item pickup-type button-tab-pickup">
  96.                             <p> Самовывоз</p>
  97.                             <small>еще дешевле🔥</small>
  98.                         </a>
  99.                     </div>
  100.                     {% if isCertificate is not defined %}
  101.                         {% if pickupEnabled %}
  102.                             <input id="deliveryTypeOffers" type="hidden" value="2">
  103.                         {% elseif deliveryEnabled %}
  104.                             <input id="deliveryTypeOffers" type="hidden" value="1">
  105.                         {% endif %}
  106.                     {% endif %}
  107.                 </div>
  108.             {% else %}
  109.                 <div class="d-flex mt-3" style="justify-content: flex-end">
  110.                     {% include 'Slivki/delivery/_delivery_sort_filter.html.twig' %}
  111.                 </div>
  112.             {% endif %}
  113.             <div id="listProducts" class="delivery-teaser-row delivery-teasers-block">
  114.                 {% if isCertificate is defined and isCertificate %}
  115.                     {% for dish in dishes %}
  116.                         {% set teaserView = 'Slivki/delivery/delivery_teaser.html.twig' %}
  117.                         {% if dish.isPizza is defined and dish.isPizza %}
  118.                             {% set teaserView = 'Slivki/delivery/delivery_teaser_pizza.html.twig' %}
  119.                         {% endif %}
  120.                         <div class="col-4">
  121.                             {% include teaserView with {'isTop': dish.id in topDishIDList, 'isAvailableOnFood': isAvailableOnFood is defined and isAvailableOnFood} %}
  122.                         </div>
  123.                     {% endfor %}
  124.                 {% endif %}
  125.             </div>
  126.             {% if options|length > 0 and showDelivery %}
  127.                 <div id="dataMenu_options" class="mb-2 pl-2 font-size-1250 sf-bold-font">Дополнительные товары:</div>
  128.                 <div class="delivery-teaser-row delivery-teasers-block">
  129.                     {% for option in options %}
  130.                         <div class="col-4">
  131.                             {% include 'Slivki/delivery/delivery_teaser.html.twig' with {'dish': option, 'isOption': true} only %}
  132.                         </div>
  133.                     {% endfor %}
  134.                 </div>
  135.             {% endif %}
  136.         </div>
  137.         <div id="deliverySidebar">
  138.             {% if isAvailableOnFood is not defined or not isAvailableOnFood %}
  139.             <form method="post" action="{{ formAction }}" id="dishSelectForm">
  140.                 {% else %}
  141.                 <div id="dishSelectForm">
  142.                     {% endif %}
  143.                     <input type="hidden" id="pickupDeliveryType" name="pickupDeliveryType" value=""/>
  144.                     <input type="hidden" id="deliveryBasketInput" name="basket" value=""/>
  145.                     <input id="offerID" type="hidden" name="offerID" value="{{ offer.getID() }}"/>
  146.                     <input type="hidden" id="dishSortBy" name="dishSortBy" value=""/>
  147.                     <input type="hidden" id="isDominos" name="isDominos"
  148.                            value="{{ (isDominos is defined and isDominos) ? '1' : '0' }}">
  149.                     {% if deliveryPrice is defined %}
  150.                         <input type="hidden" id="deliveryPrice" name="deliveryPrice" value="{{ deliveryPrice }}"/>
  151.                     {% endif %}
  152.                     <div id="deliverySidebarContent">
  153.                         {% if isAvailableOnFood is not defined or not isAvailableOnFood %}
  154.                             <div>
  155.                                 <p class="basket-tittle">Ваш заказ</p>
  156.                             </div>
  157.                             <div id="deliveryEmpty">
  158.                                 <div class="d-flex flex-column justify-content-center align-items-center text-center">
  159.                                     {% if isCertificate is not defined or not isCertificate or offer.getID() == 283384 %}
  160.                                         <div class="delivery-empty-logo">
  161.                                             {% if offer.hasCategory(constant('Slivki\\Repository\\SeoRepository::FLOWERS_CATEGORY_ID')) %}
  162.                                                 <img height="119" class="mx-auto" src="/images/basketFlowers.png" alt="">
  163.                                             {% else %}
  164.                                                 <img height="119" class="mx-auto" src="/images/sideBarEda.gif" alt="">
  165.                                             {% endif %}
  166.                                         </div>
  167.                                     {% else %}
  168.                                         <div class="delivery-empty-logo">
  169.                                             <img height="119" class="mx-auto" src="/images/sertificate.gif" alt="">
  170.                                         </div>
  171.                                     {% endif %}
  172.                                     {% if isCertificate is not defined or not isCertificate %}
  173.                                         <p class="font-size-1125 delivery-empty-text">Выберите
  174.                                             {% if offer.hasCategory(constant('Slivki\\Repository\\SeoRepository::FLOWERS_CATEGORY_ID')) %}
  175.                                                 товары
  176.                                             {% else %}
  177.                                                 блюда
  178.                                             {% endif %}
  179.                                             <br> и добавьте их к
  180.                                             заказу
  181.                                         </p>
  182.                                     {% else %}
  183.                                         <p class="font-size-1125 delivery-empty-text">Выберите услуги<br> и добавьте их
  184.                                             к заказу
  185.                                         </p>
  186.                                     {% endif %}
  187.                                 </div>
  188.                             </div>
  189.                             <div id="deliveryBasketWrapper" style="display: none;">
  190.                                 <a href="#" id="clearBasketBtn" data-toggle="modal"
  191.                                    data-target="#confirmBasketClearModal">
  192.                                     <img width="16" height="16" class="mx-1" src="/images/order_page/basket-icon.svg"/>
  193.                                     Очистить</a>
  194.                                 <div id="deliverySidebarScroll" {% if  isCertificate is not defined or not isCertificate %} class="height-74" {% endif %}>
  195.                                     <div id="deliveryBasketTop" class="js-basket-modal"></div>
  196.                                     <div class="d-none options-tittle sf-bold-font font-size-1000 mb-3 {{ not showDelivery ? 'd-none' }}">
  197.                                         <strong>Дополнительные товары:</strong>
  198.                                     </div>
  199.                                     <div id="deliveryBasketOptions"></div>
  200.                                     <div class="delivery-basket-total font-size-1000 d-none">
  201.                                         <div id="deliveryTotalDishes"></div>
  202.                                         <div id="deliveryTotalOptions"></div>
  203.                                         <span id="codeCost" data-price="0"></span>
  204.                                     </div>
  205.                                 </div>
  206.                                 <div id="deliverySidebarTotal" {% if isCertificate is not defined or not isCertificate %} class="{{ isBuyCodeDisable ?  ''  : 'bottom-basket-offers' }}" {% endif %}
  207.                                      style="display: none;">
  208.                                     <div class="delivery-teaser-row font-size-1250">
  209.                                         {% if isBuyOnlyCodeResponse is defined and isBuyOnlyCodeResponse %}
  210.                                             <div class="col-auto basket-tittle font-size-0900 mb-0">К оплате на кассе:
  211.                                             </div>
  212.                                         {% else %}
  213.                                             <div class="col-auto basket-tittle mb-0">Итого:</div>
  214.                                         {% endif %}
  215.                                         <div class="col text-right">
  216.                                             <del class="mr-1" style="text-decoration: none;"><span
  217.                                                         id="deliveryTotalPrice"></span></del>
  218.                                             <span class="sf-bold-font" id="deliveryTotalOfferPrice"></span>
  219.                                         </div>
  220.                                     </div>
  221.                                 </div>
  222.                             </div>
  223.                         {% else %}
  224.                             <div id="customFoodBasket">
  225.                                 <div id="customFoodBasketConditions">
  226.                                     <p class="tittle-basket-custom-food">Условия заказа</p>
  227.                                     <div class="offer-conditions"></div>
  228.                                 </div>
  229.                                 <div id="customFoodBasketPayMethods" class="col" style="display: none">
  230.                                     <span id="unitPrice" style="display: none;">2.10</span>
  231.                                     <div class="custom-promo-info">
  232.                                         <div class="custom-promo-block">
  233.                                             <p class="sf-bold-font text-uppercase text-center my-3">Для заказа по
  234.                                                 телефону<br>
  235.                                                 оплатите промокод <br>на скидку</p>
  236.                                         </div>
  237.                                         <div class="d-flex col justify-content-center my-2">
  238.                                             <div class="payment-sum-block mb-3">
  239.                                                 <div class="unit-wrapp">
  240.                                                     <div class="minusUnit" onclick="minus()">
  241.                                                         <img class="delivery-dec-quantity-img" width="14" height="14"
  242.                                                              src="/images/order_page/dec.svg">
  243.                                                     </div>
  244.                                                     <span id="units" class="js-units-header-popup-custom"> 1 </span>
  245.                                                     <div class="plusUnit" onclick="plus()">
  246.                                                         <img width="14" height="14" src="/images/order_page/inc.svg">
  247.                                                     </div>
  248.                                                 </div>
  249.                                             </div>
  250.                                         </div>
  251.                                         <div class="align-self-center">
  252.                                             <p class="font-size-0750 mb-4 sf-font text-center"><strong
  253.                                                         class="font-size-10625 font-800">
  254.                                                     к оплате <span class="confirm-box-total">{{ codeCost }}</span>р</strong>
  255.                                             </p>
  256.                                         </div>
  257.                                     </div>
  258.                                     <p class="my-2 sf-font font-size-1000 text-center">Выберите способ оплаты:</p>
  259.                                     <div id="paymentMethodsCustom"></div>
  260.                                 </div>
  261.                             </div>
  262.                         {% endif %}
  263.                         <div id="deliveryBtnWrapperWithoutGift" class="delivery-btn-wrapper">
  264.                             {% if isAvailableOnFood is not defined or not isAvailableOnFood %}
  265.                             {% if isBuyOnlyCodeResponse is defined and isBuyOnlyCodeResponse %}
  266.                             <button type="submit" class="delivery-btn bg-violet text-white d-block disabled my-1"
  267.                                     id="dishSelectFormSubmit">ПОЛУЧИТЬ ПРОМОКОД {{ offer.getDiscount() }}
  268.                                 {% else %}
  269.                                 {% if isCertificate is defined %}
  270.                                 <button type="submit" class="delivery-btn bg-violet text-white d-block disabled my-1"
  271.                                         id="dishSelectFormSubmit">ОФОРМИТЬ СЕРТИФИКАТ
  272.                                     {% else %}
  273.                                     <button type="submit"
  274.                                             class="delivery-btn bg-violet text-white d-block disabled my-1"
  275.                                             id="dishSelectFormSubmit">ЗАКАЗАТЬ ОНЛАЙН
  276.                                         {% endif %}
  277.                                         {% endif %}
  278.                                     </button>
  279.                                 {% if  isCertificate is not defined or not isCertificate %}
  280.                                     <div class="delivery-btn bg-violet text-white d-block btn-phone-pay {{ isBuyCodeDisable ? 'd-none' : '' }}">
  281.                                         ЗАКАЗАТЬ ПО ТЕЛЕФОНУ
  282.                                     </div>
  283.                                 {% endif %}
  284.                                 {% else %}
  285.                                     <div class="delivery-btn bg-violet text-white my-1 text-uppercase cursor-pointer w-auto"
  286.                                          id="customPageBuyOrder"> Получить скидку {{ offer.getDiscount() }}
  287.                                     </div>
  288.                                 {% endif %}
  289.                                 {% if isCertificate is defined and offer.isFoodOnlineOrderAllowedOnSite() %}
  290.                                 <a href="/gift-certificate/select/{{ offer.getID() }}" class="d-none delivery-btn my-1 text-uppercase cursor-pointer w-auto certificate-delivery-btn"> ВЫБРАТЬ СЕРТИФИКАТ
  291.                                 </a>
  292.                                 {% elseif offer.isGiftCertificateOnlineOrderAllowedOnSite() and offer.isFoodOnlineOrderAllowedOnSite() %}
  293.                                     <a href="/gift-certificate/select/{{ offer.getID() }}" class="delivery-btn my-1 text-uppercase cursor-pointer w-auto certificate-delivery-btn"> ВЫБРАТЬ СЕРТИФИКАТ
  294.                                     </a>
  295.                                 {% endif %}
  296.                         </div>
  297.                         <div id="deliveryBtnWrapperForGift"
  298.                              class="gift-food-delivery-btn-wrapper delivery-btn-wrapper d-none">
  299.                             {% if isAvailableOnFood is not defined or not isAvailableOnFood %}
  300.                                 <button type="submit" class="delivery-btn bg-violet text-white d-block disabled my-1"
  301.                                         id="dishSelectFormSubmit">ЗАКАЗАТЬ СЕБЕ
  302.                                 </button>
  303.                                 <div id="btnGiftOrder" data-toggle="modal" data-target="shareFoodForGift"
  304.                                      class="delivery-btn bg-violet text-white d-block w-auto btn-gift-order py-2">
  305.                                     ЗАКАЗАТЬ В ПОДАРОК<br><span>жене, подруге, родителям, детям </span></div>
  306.                             {% endif %}
  307.                         </div>
  308.                     </div>
  309.                     {% if isAvailableOnFood is not defined or not isAvailableOnFood %}
  310.             </form>
  311.             {% else %}
  312.         </div>
  313.         {% endif %}
  314.     </div>
  315.     </div>
  316.     <input type="hidden" id="minSumForFreeDelivery" value="{{ minSumForFreeDelivery }}">
  317.     <input type="hidden" id="minOrderSum" value="{{ minOrderSum }}">
  318.     {% if allowedCodesToBuy is defined and allowedCodesToBuy is not null %}
  319.         <input type="hidden" id="allowedCodesCountBySubscription" value="{{ allowedCodesToBuy }}">
  320.         <input type="hidden" id="allowedCodesToBuy" value="{{ allowedCodesToBuy }}">
  321.     {% endif %}
  322.     {% if allowedCodesToBuyBatchCodes is defined and allowedCodesToBuyBatchCodes is not null %}
  323.         <input type="hidden" id="allowedCodesToBuyBatchCodes" value="{{ allowedCodesToBuyBatchCodes }}">
  324.     {% endif %}
  325.     <div class="hidden">
  326.         <div id="deliveryBasketItemTemplate">
  327.             {% include 'Slivki/delivery/basket_item.html.twig' %}
  328.         </div>
  329.         <div id="deliveryBasketOptionTemplate">
  330.             {% include 'Slivki/delivery/basket_option_item.html.twig' %}
  331.         </div>
  332.         <div id="deliveryBasketTotalTemplate">
  333.             <div class="delivery-teaser-row mb-3">
  334.                 <div class="col">
  335.                     <span><span class="dish-name"></span> <small class="text-muted dish-discount"></small></span>
  336.                 </div>
  337.                 <div class="col text-right">
  338.                     <del class="text-danger mr-1"><small class="text-muted dish-item-price"></small></del>
  339.                     <span class="sf-bold-font dish-item-offer-price"></span>
  340.                 </div>
  341.             </div>
  342.         </div>
  343.     </div>
  344.     {% block footer %}
  345.         {% include 'Slivki/footer_for_partner.html.twig' %}
  346.     {% endblock %}
  347. {% endblock %}
  348. {% block popups %}
  349.     {{ parent() }}
  350.     {% include 'Slivki/delivery/modal/clear_basket_modal.html.twig' %}
  351.     {% include 'Slivki/delivery/modal/details.html.twig' with {'isOfferPage': false}  %}
  352.     {% include 'Slivki/popups/reviews_delivery_page.html.twig' %}
  353.     {% include 'Slivki/popups/delivery_page_modal.html.twig' %}
  354.     {% include 'Slivki/popups/buy_code_phone_offer.html.twig' %}
  355.     {% include 'Slivki/popups/buy_code_item-offer.html.twig' %}
  356.     {% include 'Slivki/popups/buy_code_phonenumber_offers.html.twig' %}
  357.     {% include 'Slivki/popups/buy_code_erip_offers.html.twig' %}
  358.     {% include 'Slivki/food_court/modal/maps.html.twig' %}
  359.     {% include 'Slivki/popups/buy_promo_custom.html.twig' %}
  360.     {% include 'Slivki/popups/share_food_gift_modal_male.html.twig' %}
  361.     {% include 'Slivki/popups/create_massage_popup.html.twig' %}
  362.     {% include 'Slivki/popups/share_gift_modal.html.twig' %}
  363.     {% if app.user and app.user.getActiveCreditCards() %}
  364.         {% include 'Slivki/popups/buy_code_credit_cards.html.twig' %}
  365.     {% endif %}
  366.     {% if offer.getBrandboxEnabled() and isCertificate is not defined %}
  367.         {% include 'Slivki/delivery/modal/brandbox/brandbox_popup.html.twig' %}
  368.     {% endif %}
  369. {% endblock %}
  370. {% block javascripts %}
  371.     {{ parent() }}
  372.     <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.bundle.min.js"></script>
  373.     <script src="/js/jquery.toast.min.js" integrity="sha512-zlWWyZq71UMApAjih4WkaRpikgY9Bz1oXIW5G0fED4vk14JjGlQ1UmkGM392jEULP8jbNMiwLWdM8Z87Hu88Fw=="
  374.             crossorigin="anonymous" referrerpolicy="no-referrer"></script>
  375.     <script type="module" src="/js/order_page/order_page.js?v={{ order_page_js_version }}"></script>
  376.     <script type="module" src="/js/order_page/api.js?v=1"></script>
  377.     <script type="module" src="/js/paymentOrderPage/paymentOrderPage.js?v={{ payment_order_page_js_version }}"></script>
  378.     <script type="module" src="/js/paymentOrderPage/api.js?v={{ payment_order_page_api_js_version }}"></script>
  379.     <script src="/js/delivery-common.min.js?v={{ delivery_common_js_version }}"></script>
  380.     <script src="/js/delivery.js?v={{ delivery_js_version }}"></script>
  381.     <script src="/js/jquery.datetimepicker.full.min.js"></script>
  382.     <script src="/js/moment.min.js"></script>
  383.     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.maskedinput/1.4.1/jquery.maskedinput.min.js"></script>
  384.     <script src="/js/offer.js?v={{ offer_js_version }}"></script>
  385.     <script type="module" src="/js/order_as_gift/main.js?v={{ order_as_gift_js_version }}"></script>
  386.     <script src="/js/food_has_variant/main.js?v={{ food_has_variant_js_version }}"></script>
  387.     {% if app.request.query.has('checkOrder') %}
  388.         <script>
  389.             $(function () {
  390.                 initCheckOfferOrderStatus({{ app.request.get('checkOrder') }});
  391.             });
  392.         </script>
  393.     {% endif %}
  394. {% endblock %}