templates/Slivki/mobile/landing_new.html.twig line 1

Open in your IDE?
  1. {% set metaInfo = getMetaInfo() %}
  2. {% set path = app.request.requestUri|url_encode %}
  3. {% if app.request.query.get('path') %}
  4.     {% set path = app.request.query.get('path')|url_encode %}
  5. {% endif %}
  6. {% if path != '%2F' %}
  7.     {% set path = '?path=' ~ path %}
  8. {% else %}
  9.     {% set path = '' %}
  10. {% endif %}
  11. <!DOCTYPE html>
  12. <html lang="ru">
  13. <head>
  14.     <title>{% block title %}{{ metaInfo.metaTitle }}{% endblock %}</title>
  15.     <meta charset="utf-8">
  16.     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no">
  17.     <meta name="description" content="{{ metaInfo.metaDescription }}"/>
  18.     <meta name="keywords" content="{{ metaInfo.metaKeywords }}"/>
  19.     <meta property="og:title" content="{{ metaInfo.metaTitle }}" />
  20.     <meta property="og:type" content="website" />
  21.     <meta property="og:url" content="{{ app.request.getSchemeAndHttpHost() ~ app.request.getRequestUri() }}" />
  22.     <meta property="og:description" content="{{ metaInfo.metaDescription }}" />
  23.     {% if app.environment == 'dev' %}
  24.         <meta name="robots" content="noindex" />
  25.     {% else %}
  26.         <meta name="robots" content="{{ robotsMeta is defined ? robotsMeta : 'index, follow' }}"/>
  27.     {% endif %}
  28.     <meta name="verify-admitad" content="422955a37d" />
  29.     <meta name="yandex-verification" content="4f5be5674ef9e9f4" />
  30.     <meta name="facebook-domain-verification" content="jnkwb12ztrzdf1dvu5bi94dm5r1wvt" />
  31.     <link rel="stylesheet" href="/js/smart-app-banner.css?v=2" type="text/css" media="screen">
  32.     <link rel="apple-touch-icon" href="apple-touch-icon.png">
  33.     <link rel="android-touch-icon" href="android-icon.png" />
  34.     <meta name="apple-itunes-app" content="app-id=1491166713">
  35.     <meta name="google-play-app" content="app-id=by.slivki.app">
  36.     {% block meta %}{% endblock %}
  37.     <link rel="canonical" href="{{ app.request.getSchemeAndHttpHost() ~ app.request.pathInfo() }}"/>
  38.     <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet">
  39.     <link href="/js/jgallery-1.5.5/dist/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
  40.     <link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/themes/smoothness/jquery-ui.css" rel="stylesheet">
  41.     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.13/css/intlTelInput.css" />
  42.     <link href="/mobile/css/landing_mobile.min.css?v={{ mobile_landing_mobile_css_version }}" rel="stylesheet">
  43.     {% block styles %}
  44.         <link href="/mobile/css/style.min.css?v={{ mobile_style_css_version }}" rel="stylesheet">
  45.         <link href="/css/new_popup.css?v={{ new_popup_css_version }}" rel="stylesheet" type="text/css" />
  46.         <link rel="stylesheet" type="text/css" href="/landing/css/normalize.css" />
  47.         <link rel="stylesheet" type="text/css" href="/landing/css/component.css?v={{ component_css_version }}" />
  48.     {% endblock %}
  49.     {% block favicon %}
  50.         <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico?v=2') }}"/>
  51.         <!--[if IE]><link rel="shortcut icon" href="{{ asset('favicon.ico?v=2') }}"><![endif]-->
  52.     {% endblock %}
  53.     <meta name="google-site-verification" content="33UhU8AvLA9eoT3WZfkzuOaxKNujSVAtcYZHf-pGToI" />
  54.     <link rel="manifest" href="/manifest.json?v=0">
  55.     <!-- Global site tag (gtag.js) - Google Analytics -->
  56.     {% set currentCity = getCurrentCity() %}
  57.     <!-- Global site tag (gtag.js) - Google Analytics -->
  58.     <script src="/js/smart-app-banner.js"></script>
  59.     <script>
  60.         (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  61.             (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  62.             m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  63.         })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
  64.         ga('create', 'UA-185332166-1', 'auto');
  65.         ga('send', 'pageview');
  66.         {% if app.user %}
  67.             ga('set', 'userId', '{{ app.user.getID() }}');
  68.         {% endif %}
  69.     </script>
  70. </head>
  71. <body class="overflow-auto">
  72. <div class="header-mobile--landing">
  73.     <div id="sidebarMenuLink" class="burger--item">
  74.         <img height="24" width="24" src="/images/Icom_drover.svg">
  75.     </div>
  76.     <form id="headerSearchForm" class="d-inline w-100 ml-2" action="/search">
  77.         <div class="input-group">
  78.             <input id="headerSearchInput" name="text" type="text" class="search-input form-control py-1" placeholder="Я ищу..." value="{{ app.request.query.get('text', '') }}">
  79.             <button class="input-group-append button-search-landing" type="submit">
  80.                 <img alt="" src="/images/searchNewWhite.svg" />
  81.             </button>
  82.             <button class="voice-search-btn" type="button"></button>
  83.             {% include 'search_equalizer.html.twig' with {'barCount': 36, 'barPadding': 6} only %}
  84.         </div>
  85.         <input type="hidden" name="sortBy" id="sortBy" value="{{ app.request.query.get('sortBy', 'default') }}">
  86.         <input type="hidden" name="distance" id="distance" value="{{ app.request.query.get('distance', '0') }}">
  87.         <input type="hidden" name="isVoice" id="searchByVoice"  value="false"/>
  88.     </form>
  89.     {% if not app.user %}
  90.         <div class="col justify-content-end d-flex pr-0 pl-1">
  91.             <a href="#" class="nav-link login-landing-new" data-toggle="modal" data-target=".modal-auth">Войти</a>
  92.         </div>
  93.     {% else %}
  94.         <a class="navbar-brand px-3 py-0 my-0 mx-0" href="{{ base_url }}"><img src="/images/logomob.png" height="26" alt=""></a>
  95.     {% endif %}
  96. </div>
  97. <div class="col px-4">
  98.     {{ landingBannerHtmlTop|raw }}
  99.     <div class="content--landing">
  100.         <div class="d-flex">
  101.             <a href="/eda" class="content--landing--item col-4 food--img js-category-loader">
  102.                 <p>Еда</p>
  103.             </a>
  104.             <a href="/salony-krasoty" class="content--landing--item col ml-2 beauty--img js-category-loader">
  105.                 <p>Красота</p>
  106.             </a>
  107.         </div>
  108.         <div class="d-flex">
  109.             <div class="col px-0">
  110.                 <div class="d-flex my-2">
  111.                     <a href="/tovary-uslugi-deti" class="col content--landing--item kids--img js-category-loader">
  112.                         <p>Детям</p>
  113.                     </a>
  114.                     <a href="/avto" class="col ml-2 content--landing--item auto--img js-category-loader">
  115.                         <p>Авто</p>
  116.                     </a>
  117.                 </div>
  118.                 <a href="/razvlecheniya" class="js-category-loader">
  119.                     <div class="col content--landing--item my-2 entertainment--img">
  120.                         <p>Развлечения</p>
  121.                     </div>
  122.                 </a>
  123.             </div>
  124.             <a href="/listovki" class="col-4 content--landing--item mt-2 ml-2 flier--img js-category-loader" style="height: 203px !important;">
  125.                 <p>Листовки</p>
  126.             </a>
  127.         </div>
  128.         <div class="all-offers-button" data-toggle="modal" data-target="#offerCategoryMenuPopup">
  129.             <p>Все категории</p>
  130.         </div>
  131.         <div class="sale-news--block">
  132.             <a href="{{ base_url }}{{ path('sales') }}" class="sale-news--link-tittle js-category-loader">Новости скидок</a>
  133.             {{ landingBannerHtmlBottom|raw }}
  134.         </div>
  135.     </div>
  136. </div>
  137. <nav id="sidebarMenu">
  138.     {% set landingUrl = '/subscription-landing?utm_source=main_menu' %}
  139.     {% if subscription is not null and subscription.status == constant('Slivki\\Bundle\\SubscriptionBundle\\Enum\\SubscriptionStatus::CANCELED') %}
  140.         {% set landingUrl = '/profile/subscription/manage?utm_source=main_menu' %}
  141.     {% endif %}
  142.     <div class="row sf-font h-100">
  143.         <div class="col-10 bg-white px-0 side-bar-menu">
  144.             {% if app.user and is_granted('ROLE_SUPPLIER') %}
  145.                 <div class="col w-fit-content my-3 ml-3">
  146.                     <a class="d-block text-white text-center font-weight-bold bg-violet text-white rounded-14 py-2 px-3 text-uppercase mt-2" href="/partner">кабинет партнера</a>
  147.                     <p class="text-violet sf-font mb-0 mt-1">Войдите для проверки промокода</p>
  148.                 </div>
  149.             {% endif %}
  150.             <div class="bg-light-gray p-2 d-flex user-info__wrapper">
  151.                 {% if app.user %}
  152.                     <a class="w-100" href="{{ path('profile') }}">
  153.                         <div id="userTopInfo" class="user-info">
  154.                             <p class="user-info__title"><strong>Личный кабинет</strong></p>
  155.                             <p id="username">{{ app.user.getPhone() ? '***' ~ app.user.getPhone()|phone[3:] : app.user.getEmail() }}</p>
  156.                             {% if is_granted('IS_IMPERSONATOR') %}
  157.                                 <a class="text-danger pl-2" href="{{ impersonation_exit_path(path('homepage')) }}"><i class="slivki-icon-off text-danger p-0"></i> Вернутся в свой акк</a>
  158.                             {% endif %}
  159.                         </div>
  160.                     </a>
  161.                 {% else %}
  162.                     <i class="slivki-icon-user-o user-avatar"></i>
  163.                     <a href="#" data-toggle="modal" data-target=".modal-auth" class="my-auto">Вход/Регистрация</a></li>
  164.                 {% endif %}
  165.             </div>
  166.             <ul class="list-unstyled menu-list__wrapper">
  167.                 {% if app.user and isServerFeatureEnabled(constant('Slivki\\Enum\\SwitcherFeatures::REPLENISHMENT_BALANCE')) %}
  168.                     <li>
  169.                         <a href="/oplata">
  170.                             <img class="side-bar-menu-icons" alt="Баланс" src="/images/money.svg">
  171.                             <lable style="font-weight: bold; font-size: 16px">
  172.                                 <span id="balance">{{ app.user.getBalance()|number_format(2, ',', '') }}</span> р
  173.                             </lable>
  174.                             <br>
  175.                             <a class="text-violet" style="margin-left: 0.5rem;">Пополнить и получить бонус</a>
  176.                         </a>
  177.                     </li>
  178.                     <li><a href="{{ path('profile') }}#profilePromocodesTab"><img class="side-bar-menu-icons" src="/images/promo-code.svg" alt="Промокод">Мои промокоды</a></li>
  179.                 {% endif %}
  180.                 <li><a href="#" role="button" data-toggle="modal" data-target="#selectCityPopup"><img class="side-bar-menu-icons" src="/images/location_profile.svg" alt="Местоположение">Город: {{ getCurrentCity().getName() }}</a></li>
  181.                 <li translate="no" class="language-tooltip" onclick="$('.language-tooltip .tooltip-content').toggleClass('toggle-visible');"><div class="tooltip-content">
  182.                         <div class="tooltip-title d-flex">Выберите язык:</div>
  183.                         <div class="radio language-radio d-flex align-items-center">
  184.                             <input id="ruru" class="custom-radio language-radio p-0" type="radio"  name="language" value="Русский" data-google-lang="ru">
  185.                             <label for="ruru" class="p-0 cursor-pointer">Русский</label>
  186.                         </div>
  187.                         <div class="radio language-radio d-flex align-items-center">
  188.                             <input id="plpl" class="custom-radio p-0" type="radio"  name="language" value="Polski" data-google-lang="pl">
  189.                             <label for="plpl" class="p-0 cursor-pointer">Polski</label>
  190.                         </div>
  191.                         <div class="radio language-radio d-flex align-items-center">
  192.                             <input id="kage" class="custom-radio language-radio p-0" type="radio" name="language" value="ქართული" data-google-lang="ka">
  193.                             <label for="kage" class="p-0 cursor-pointer">ქართული</label>
  194.                         </div>
  195.                         <div class="radio language-radio d-flex align-items-center">
  196.                             <input id="cncn" class="custom-radio p-0" type="radio"  name="language" value="简体中文" data-google-lang="zh-CN">
  197.                             <label for="cncn" class="p-0 cursor-pointer">简体中文</label>
  198.                         </div>
  199.                     </div><a href="javascript:void(0)"><img class="side-bar-menu-icons" src="/images/new-globus.svg" alt="Выбор языка"><span>Язык: Русский</span></a></li>
  200.                 {% if not app.user or (app.user and subscription is not null and subscription.status == constant('Slivki\\Bundle\\SubscriptionBundle\\Enum\\SubscriptionStatus::CANCELED')) or hadSubscription  %}
  201.                     <li>
  202.                         <a href="{{ landingUrl }}">
  203.                             <div class="d-flex subscription-button-sidebar">
  204.                                 <div class="icon-lightning align-self-center"></div>
  205.                                 <div class="col">
  206.                                     <div class="text-violet">ПОДПИСКА</div>
  207.                                     <div>1 промокод  5 копеек</div>
  208.                                 </div>
  209.                             </div>
  210.                         </a>
  211.                     </li>
  212.                 {% endif %}
  213.                 <li class="bg-light-gray menu-list__title">
  214.                     Интересное на сайте
  215.                 </li>
  216.                 {% if getActiveSubCategories(0)|length > 1 %}
  217.                     <li><a href="#" role="button" data-toggle="modal" data-target="#offerCategoryMenuPopup"><img class="side-bar-menu-icons" alt="Промокод" src="/images/category-promo.svg">Категории</a></li>
  218.                 {% else %}
  219.                     <li><a href="{{ getCurrentCityURL() }}" role="button"><i class="slivki-icon-percentage"></i>Категории</a></li>
  220.                 {% endif %}
  221.                 {% set menuItem = getTestMenuItem(2) %}
  222.                 {% if isServerFeatureEnabled(constant('Slivki\\Enum\\SwitcherFeatures::SALES')) %}
  223.                     <li><a href="{{ base_url }}{{ path('sales') }}"><img class="side-bar-menu-icons" alt="Новости" src="/images/new-news.svg">Новости скидок</a></li>
  224.                 {% endif %}
  225.                 {% if isServerFeatureEnabled(constant('Slivki\\Enum\\SwitcherFeatures::FLIERS')) %}
  226.                     <li><a href="{{ getURL(constant('Slivki\\Repository\\SeoRepository::RESOURCE_URL_SALE_CATEGORY'), constant('Slivki\\Entity\\Category::FLIER_SALE_CATEGORY_ID')) }}"><img class="side-bar-menu-icons" alt="Листовки" src="/images/listovki.svg">Листовки</a></li>
  227.                 {% endif %}
  228.                 {% if not isServerFeatureEnabled(constant('Slivki\\Enum\\SwitcherFeatures::PAYMENT_PAYME')) %}
  229.                     <li class="py-2">
  230.                         <a href="{{ landingUrl }}">
  231.                             <div class="d-flex pl-2">
  232.                                 <div class="icon-lightning align-self-center"></div>
  233.                                 <div class="col pl-2">
  234.                                     <div>Подписка</div>
  235.                                 </div>
  236.                             </div>
  237.                         </a>
  238.                     </li>
  239.                 {% endif %}
  240.                 <li><a href="/moya_akciya" onclick="ga('send', 'event', 'create-own-offer-button--mobile-menu', 'Click', '1');"><img class="side-bar-menu-icons" src="/images/add-offer.svg" alt="Добавление">Разместить свою акцию</a></li>
  241.                 {% if app.user and is_granted('ROLE_ADMIN_USER') %}
  242.                     <li><a href="/admin"><img class="side-bar-menu-icons" alt="Администрирование" src="/images/admin-new-icon.svg">Администрирование</a></li>
  243.                     <li><a href="/admin/past_offers"><img class="side-bar-menu-icons" alt="Прошедшее" src="/images/past-new.svg">Прошедшие акции</a></li>
  244.                     <li><a href="/admin/past_sales"><img class="side-bar-menu-icons" alt="Прошедшее" src="/images/past-new.svg">Прошедшие НС</a></li>
  245.                 {% endif %}
  246.                 {% if app.user and is_granted('ROLE_SUPPLIER') %}
  247.                     <li class="mar-b-5"><a href="{{ path('partner') }}"><img class="side-bar-menu-icons" src="/images/partner.svg" alt="Кабинет партнера">Кабинет партнера</a></li>
  248.                 {% endif %}
  249.             </ul>
  250.         </div>
  251.         <div class="col-2 bg-modal px-0 sidebar-overlay">
  252.             <div class="sidebar-close__wrapper">
  253.                 <i id="sidebarOverlay" class="slivki-icon-close-thin sidebar-close" data-dismiss="modal"></i>
  254.             </div>
  255.         </div>
  256.     </div>
  257. </nav>
  258. {% block popup %}
  259.     {% include 'Slivki/mobile/select_city.html.twig' %}
  260.     {% include 'Slivki/mobile/popup/loading_landing_popup.html.twig' %}
  261.     {% if not app.user %}
  262.         {% include 'Slivki/mobile/popup/login.html.twig' %}
  263.         {% include 'Slivki/mobile/popup/restore_password.html.twig'%}
  264.         {% include 'Slivki/mobile/popup/succes_restore_password.html.twig'%}
  265.         {% include 'Slivki/mobile/popup/new_alert_popup.html.twig' %}
  266.     {% endif %}
  267.     {{ getMainMenu(false, false) }}
  268. {% endblock %}
  269. <!-- Yandex.Metrika counter -->
  270. <script type="text/javascript" >
  271.     (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
  272.         m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
  273.     (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
  274.     ym(20933521, "init", {
  275.         clickmap:true,
  276.         trackLinks:true,
  277.         accurateTrackBounce:true
  278.     });
  279. </script>
  280. <noscript><div><img src="https://mc.yandex.ru/watch/20933521" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
  281. <!-- /Yandex.Metrika counter -->
  282. <script src="https://www.google.com/recaptcha/api.js"></script>
  283. <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
  284. <script src="https://cdn.jsdelivr.net/npm/universal-parallax@1.3.2/dist/universal-parallax.min.js"></script>
  285. <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-touch-events/2.0.0/jquery.mobile-events.min.js"></script>
  286. <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js"></script>
  287. <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
  288. <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
  289. <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.lazyload/1.9.1/jquery.lazyload.min.js"></script>
  290. <script src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.5.9/lottie_light.min.js"></script>
  291. <script src="/js/jquery.maskedinput.min.js"></script>
  292. <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/5.0.5/jquery.inputmask.min.js"></script>
  293. <script src="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.13/js/utils.min.js"></script>
  294. <script type="text/javascript" src="/js/jquery.cookie.min.js?v=1"></script>
  295. <script src="https://yastatic.net/pcode/adfox/loader.js" crossorigin="anonymous"></script>
  296. <script src="/landing/js/modernizr.custom.js"></script>
  297. <script src="/landing/js/draggabilly.pkgd.min.js"></script>
  298. <script src="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.13/js/intlTelInput-jquery.min.js"></script>
  299. {% block javascripts %}
  300.     <script src="/js/bodyScrollLock.min.js?v=1"></script>
  301.     <script src="/js/common.min.js?v={{ common_js_version }}"></script>
  302.     <script src="/mobile/js/script.min.js?v={{ mobile_script_js_version }}"></script>
  303.     <script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
  304.     <script src="//translate.google.com/translate_a/element.js?cb=TranslateInit"></script>
  305.     <script src="/js/gtranslate.js"></script>
  306. {% endblock %}
  307. </body>
  308. </html>