templates/FrontBundle/Page/shop2.html.twig line 948

Open in your IDE?
  1. {% extends 'FrontBundle/layout_shop.html.twig' %}
  2. {% block title %}{{ app_sitename }} - {{ page.metaTitle }}{% endblock %}
  3. {% block description %}{{ page.metaDescription }}{% endblock %}
  4. {% block google %}
  5. <!-- Google tag (gtag.js) -->
  6. <script async src="https://www.googletagmanager.com/gtag/js?id=AW-11336737773">
  7. </script>
  8. <script>
  9.     window.dataLayer = window.dataLayer || [];
  10.     function gtag(){dataLayer.push(arguments);}
  11.     gtag('js', new Date());
  12.     gtag('config', 'AW-11336737773');
  13. </script>
  14. {% endblock %}
  15. {% block extra_class %}stack{% endblock %}
  16. {# {% block menu_min %}200{% endblock %} #}
  17. {# {% block menu_max %}2636{% endblock %} #}
  18. {% block stylesheets %}
  19.   <link href="/front/css/owl.carousel.min.css" rel="stylesheet">
  20.   <link href="/front/css/owl.theme.default.min.css" rel="stylesheet">
  21.   <link href="/front/css/nouislider.css" rel="stylesheet">
  22.   <style>
  23.       .bon-cadeau .options,
  24.       .bon-cadeau .options.small {
  25.           display: none;
  26.       }
  27.     /* ETOILES */
  28.     #bon-cadeau-results .item {
  29.         position: relative;
  30.     }
  31.       #bon-cadeau-12::before,
  32.       #bon-cadeau-17::before,
  33.       #bon-cadeau-22::before {
  34.           content: url(/front/img/stars3.svg);
  35.           position: absolute;
  36.           left: 42px;
  37.           top: 16px;
  38.           z-index: -1;
  39.       }
  40.       #bon-cadeau-12::after,
  41.       #bon-cadeau-17::after,
  42.       #bon-cadeau-22::after {
  43.           content: url(/front/img/stars4.svg);
  44.           position: absolute;
  45.           right: 22px;
  46.           bottom: 110px;
  47.           z-index: -1;
  48.       }
  49.       #bon-cadeau-14::before,
  50.       #bon-cadeau-16::before,
  51.       #bon-cadeau-19::before {
  52.           content: url(/front/img/stars5.svg);
  53.           position: absolute;
  54.           right: 55px;
  55.           top: 116px;
  56.           z-index: -1;
  57.       }
  58.       #bon-cadeau-20::before {
  59.           content: url(/front/img/stars1.svg);
  60.           position: absolute;
  61.           left: -46px;
  62.           bottom: 77px;
  63.       }
  64.       /* FIN ETOILES */
  65.       #bon-cadeau-10-plus {
  66.           margin-top: 1px;
  67.       }
  68.   /**
  69.       override footer cause bug
  70.        */
  71.       footer .bottom{
  72.           height: 60px;
  73.           margin-top: -10px;
  74.           display: flex;
  75.       }
  76.       @media screen and (min-width: 1400px){
  77.           footer .bottom .col-md-8 ul {
  78.               height: 100%;
  79.               display: grid;
  80.               grid-auto-flow: column;
  81.               align-items: center;
  82.           }
  83.       }
  84.       @media screen and (min-width: 458px) {
  85.           footer .bottom .col-md-8 ul {
  86.               height: 100%;
  87.               display: block;
  88.               grid-auto-flow: revert;
  89.           }
  90.       }
  91.   .full-bar {
  92.       width: 100%;
  93.   }
  94.     .bon-cadeau{
  95.       cursor: pointer;
  96.     }
  97.     .bon-cadeau:last-child{
  98.       cursor: revert;
  99.     }
  100.     /* Ciblez .bon-cadeau dans .shop_bons_section1 et .shop_bons_section2 pour l'état par défaut */
  101.     .page_shop .shop_bons_section1 .bon-cadeau::before,
  102.     .page_shop .shop_bons_section2 .bon-cadeau::before {
  103.       border: 1px solid transparent;
  104.       transition: border 0.3s ease-in-out, transform 0.3s ease-in-out;
  105.       transform: scale(1);
  106.       height: 100%;
  107.     }
  108.     /* Ciblez .bon-cadeau dans .shop_bons_section1 et .shop_bons_section2 pour l'état de survol */
  109.     .page_shop .shop_bons_section1 .bon-cadeau:hover::before,
  110.     .page_shop .shop_bons_section2 .bon-cadeau:hover::before {
  111.       border: 1px solid var(--red);
  112.       transform: scale(1.05);
  113.     }
  114.     /* Annuler les transformations pour les éléments avec la classe .last-item-class */
  115.     .page_shop .shop_bons_section1 .last-item-class .bon-cadeau::before,
  116.     .page_shop .shop_bons_section2 .last-item-class .bon-cadeau::before,
  117.     .page_shop .shop_bons_section1 .last-item-class .bon-cadeau:hover::before,
  118.     .page_shop .shop_bons_section2 .last-item-class .bon-cadeau:hover::before {
  119.       border: 1px solid transparent !important;
  120.       transform: scale(1) !important;
  121.       transition: none !important;
  122.   }
  123.   .options {
  124. /*    position: absolute;
  125.     background-color: #faf5f5;*/
  126.     padding-left: 15px;
  127.     margin-left: -15px;
  128.     border-radius: 30px;
  129.     padding-bottom: 10px;
  130.     cursor: pointer;
  131.   }
  132.   .options li {
  133.       background-color: #FFFFFF;
  134.       border-radius: 15px;
  135.       padding: 5px 0px;
  136.       margin: 5px;
  137.       width: calc(25% - -59px);
  138.       float: left;
  139.       position: relative;
  140.       height: 74px;
  141.       border: 1px solid #FFFFFF;
  142.   }
  143.   .options label {
  144.       border-bottom: 2px solid var(--red);
  145.       display: table;
  146.       padding: 0px 0px 5px 0px;
  147.       width: auto;
  148.       margin-bottom: 10px;
  149.   }
  150.   .option-content {
  151.       border-radius: 14px;
  152.       background: #931517;
  153.       display: flex;
  154.       justify-content: center;
  155.       align-items: center;
  156.       width: 119px;
  157.       height: 19px;
  158.       flex-shrink: 0;
  159.       margin-top: 10px;
  160.       color: #fff;
  161.       padding: 0.5rem 1rem;
  162.       font-size: 13px;
  163.       font-weight: 600;
  164.       margin-bottom: 4px;
  165.   }
  166.   .options ul {
  167.       background-color: transparent;
  168.       border-radius: 30px;
  169.       padding: 0px !important;
  170.       margin: 0px !important;
  171.       float: left;
  172.       width: 100%;
  173.       list-style: none;
  174.   }
  175.   .options .title {
  176.       max-width: 92%;
  177.       transform: translateX(4.2%);
  178.       margin: 0;
  179.       font-size: 11px;
  180.       font-weight: normal;
  181.       text-align: center;
  182.       padding: 0;
  183.       line-height: 14px;
  184.       min-height: 33px;
  185.   }
  186.   .options ul li {
  187.     width: calc(31% - -59px);
  188.   }
  189.   .options ul li::before {
  190.     content: '';
  191.   }
  192.   .items-slider .item .options .price {
  193.       margin: 3px 0 0 0;
  194.       font-size: 14px;
  195.       font-weight: normal;
  196.       color: var(--red);
  197.       text-align: center;
  198.       width: 100%;
  199.       padding: 0;
  200.   }
  201.   .shop_bons_section1 .bon-cadeau .actions2 {
  202.     position: absolute;
  203.     height: 33px;
  204.     width: 33.3%;
  205.     background-color: var(--red);
  206.     border-radius: 16px;
  207.     margin: 0px;
  208.     top: calc(100% - 45px);
  209.   }
  210.   .shop_bons_section1 #bon-cadeau-15 .actions2,
  211.   .shop_bons_section1 #bon-cadeau-16 .actions2,
  212.   .shop_bons_section1 #bon-cadeau-22 .actions2,
  213.   .shop_bons_section1 #bon-cadeau-20 .actions2,
  214.   .shop_bons_section1 #bon-cadeau-4 .actions2,
  215.   .shop_bons_section1 #bon-cadeau-5 .actions2,
  216.   .shop_bons_section1 #bon-cadeau-11 .actions2,
  217.   .shop_bons_section1 #bon-cadeau-9 .actions2 {
  218.     position: relative;
  219.     height: 34px;
  220.     width: 74%;
  221.     background-color: var(--red);
  222.     border-radius: 16px;
  223.     margin: 0px;
  224.     margin-bottom: 15px;
  225.     top: 0px;
  226.   }
  227.     .col-md-7 .pt-5 .infos {
  228.         background-color: #FFFFFF;
  229.         width: 15px;
  230.         height: 15px;
  231.         margin-left: 15px;
  232.         -webkit-box-shadow: 0px 1px 5px 1px rgb(0 0 0 / 16%);
  233.         box-shadow: 0px 1px 5px 1px rgb(0 0 0 / 16%);
  234.         color: #000000;
  235.         display: inline-block;
  236.         border-radius: 8px;
  237.         text-align: center;
  238.         font-weight: 500;
  239.         line-height: 15px;
  240.         font-size: 13px;
  241.         cursor: pointer;
  242.         z-index: 800;
  243.     }
  244.   .shop_bons_section1 #bon-cadeau-15 .actions2 .price,
  245.   .shop_bons_section1 #bon-cadeau-16 .actions2 .price,
  246.   .shop_bons_section1 #bon-cadeau-22 .actions2 .price,
  247.   .shop_bons_section1 #bon-cadeau-20 .actions2 .price,
  248.   .shop_bons_section1 #bon-cadeau-4 .actions2 .price,
  249.   .shop_bons_section1 #bon-cadeau-5 .actions2 .price,
  250.   .shop_bons_section1 #bon-cadeau-11 .actions2 .price,
  251.   .shop_bons_section1 #bon-cadeau-9 .actions2 .price {
  252.     line-height: 33px;
  253.     margin-top: 0px;
  254.   }
  255.   .options .title .sub {
  256.     color: #656565;
  257.     font-size: 10px;
  258.   }
  259.   .shop_bons_section1 {
  260.     min-height: 630px;
  261.   }
  262.   .options.small {
  263.     position: relative;
  264.     padding-left: 0px;
  265.     margin-left: 0px;
  266.     background-color: transparent;
  267.     width: 100%;
  268.       margin-top: 1rem;
  269.     max-width: 255px;
  270.   }
  271.   .options.small ul li {
  272.     width: 100%;
  273.   }
  274.   .options.small ul li {
  275.     height: 60px !important;
  276.   }
  277.   #bon-cadeau-6 .option-1, 
  278.   #bon-cadeau-6 .option-2,
  279.   #bon-cadeau-20 .option-1,
  280.   #bon-cadeau-20 .option-2,
  281.   #bon-cadeau-7 .option-1, 
  282.   #bon-cadeau-7 .option-2,
  283.   #bon-cadeau-8 .option-1, 
  284.   #bon-cadeau-8 .option-2,
  285.   #bon-cadeau-9 .option-1, 
  286.   #bon-cadeau-9 .option-2 {
  287.     display: none;
  288.   }
  289.   .bon-cadeau .actions2 .add-cart {
  290.     top: 4px;
  291.   }
  292.   .options.small .title {
  293.     min-height: auto;
  294.   }
  295.   .items-slider .item .options.small .price {
  296.     margin: 0px !important;
  297.   }
  298.   .shop_bons_section1 #bon-cadeau-10 .bon-cadeau .actions2 {
  299.     top: calc(74% - 16px);
  300.   }
  301.   .items-slider .item .price {
  302.     font-size: 16px;
  303.     line-height: 32px;
  304.   }
  305.   .actions2{
  306.       position: relative;
  307.   }
  308.   .shop_bons_section2 .bon-cadeau .actions2 ,.add {
  309.       top: 48% !important;
  310.       height: 28px;
  311.       width: 207px;
  312.   }
  313.   .shop_bons_section2 .bon-cadeau .actions2 ,.one{
  314.       top: 44.8% !important;
  315.       height: 28px;
  316.       width: 207px;
  317.   }
  318.   .shop_bons_section2 .bon-cadeau .actions2 .add-cart {
  319.     top:4px !important;
  320.   }
  321.   #bon-cadeau-9 .options .col-12:first-child .option-content{
  322.       display: none;
  323.   }
  324.   .bon-cadeau ul {
  325.     margin-bottom: 15px;
  326.   }
  327.   .bon-cadeau .actions2 {
  328.     position: relative !important;
  329.   }
  330.   .shop_bons_section2 .bon-cadeau .actions2, .one {
  331.     top: inherit !important;
  332.     width: 100%;
  333.     height: 34px;
  334.   }
  335.   #bon-cadeau-10 .actions2 {
  336.     position: absolute !important;
  337.   }
  338. /*  #bon-cadeau-6 .option-6,
  339.   #bon-cadeau-7 .option-6,
  340.   #bon-cadeau-8 .option-6,
  341.   #bon-cadeau-9 .option-6 {
  342.     display: none;
  343.   }*/
  344.     .infos {
  345.         background-color: var(--red);
  346.         width: 15px;
  347.         height: 15px;
  348.         position: absolute;
  349.         display: block;
  350.         color: #FFFFFF;
  351.         border-radius: 8px;
  352.         text-align: center;
  353.         font-weight: 500;
  354.         line-height: 15px;
  355.         font-size: 13px;
  356.         right: -10px;
  357.         top: -10px;
  358.         cursor: pointer;
  359.         z-index: 800;
  360.         margin: 10px;
  361.     }
  362.   @media (max-width: 1440px)
  363.   {
  364.     .options ul li {
  365.       width: calc(50% - 18px);
  366.     }
  367.     .shop_bons_section1 {
  368.       min-height: 760px;
  369.     }
  370.     .shop_bons_section1 #bon-cadeau-10 .bon-cadeau .actions2 {
  371.       
  372.       top: calc(100% - 45px);
  373.     }
  374.     .items-slider .item .price {
  375.       font-size: 15px;
  376.       line-height: 33px;
  377.     }
  378.   }
  379.   @media (max-width: 768px)
  380.   {
  381.     .options {
  382.       width: 58%;
  383.     }
  384.     .options ul li {
  385.         width: calc(100% - 24px);
  386.       height: 60px !important;
  387.     }
  388.     .options .title {
  389.       min-height: auto;
  390.     }
  391.     .items-slider .item .options .price {
  392.       margin: 0px !important;
  393.     }
  394.     .shop_bons_section1 {
  395.       min-height: 960px;
  396.     }
  397.     .bon-cadeau .actions2 {
  398.         width: calc(100% - 60px);
  399.     }
  400. /*      .shop_bons_section2 .bon-cadeau .actions2 ,.one{
  401.           top: 48% !important;
  402.           height: 28px;
  403.           width: 207px;
  404.       }*/
  405.   }
  406.   @media (max-width: 767px)
  407.   {
  408.     .options {
  409.       position: relative;
  410.       padding-left: 0px;
  411.       margin-left: 0px;
  412.       background-color: transparent;
  413.       width: 100%;
  414.     }
  415.     .options ul li {
  416.       width: 100%;
  417.     }
  418.     .shop_bons_section1 .bon-cadeau .actions2 {
  419.       width: calc(100% - 60px);
  420.       top: calc(100% - 17px);
  421.     }
  422.     .options.small {
  423.       max-width: 100%;
  424.     }
  425.     .shop_bons_section1 #bon-cadeau-4 .actions2,
  426.     .shop_bons_section1 #bon-cadeau-5 .actions2,
  427.     .shop_bons_section1 #bon-cadeau-11 .actions2,
  428.     .shop_bons_section1 #bon-cadeau-9 .actions2 {
  429.       width: 100%;
  430.     }
  431.   }
  432.     .additional .infos{
  433.         right: -25px;
  434.         transform: translateX(-5%);
  435.         background-color: #FFFFFF;
  436.         color: #000000;
  437.     }
  438.     ul, .additional{
  439.         display: table;
  440.     }
  441.     .date-article p{
  442.         padding: 0;
  443.         text-align: center;
  444.         font-size: .875rem;
  445.         font-weight: 500;
  446.     }
  447.     .btn-primary.active,
  448.     .btn-primary:hover {
  449.         color: #ffffff;
  450.         text-decoration: none;
  451.         border: 1px solid var(--red);
  452.         background-color: var(--red);
  453.     }
  454.     .bon-cadeau .per-person{
  455.         font-size: 12px;
  456.     }
  457.     .bon-cadeau .per-person{
  458.         height: 25px;
  459.     }
  460.     .bon-cadeau .per-person span{
  461.         line-height: 26px;
  462.     }
  463.     .bon-cadeau .per-person img{
  464.         margin: 9px 0 0 6px;
  465.     }
  466.     .items-slider .item .category{
  467.         font-size: 12px;
  468.     }
  469.     .bon-cadeau .actions2 .no-cart{
  470.         width: 145px;
  471.         font-size: 0.9rem;
  472.         position: absolute;
  473.         background-color: #FFFFFF;
  474.         right: 3px;
  475.         top: 4px;
  476.         height: 26px;
  477.         border-radius: 13px;
  478.         text-align: center;
  479.     }
  480.     .bon-cadeau .actions2 .price{
  481.         width: 50%;
  482.     }
  483.     .shop-bf .bon-cadeau .actions2 .price {
  484.         color: #000000;
  485.     }
  486.     .shop-bf .option-content,
  487.     .shop-bf .bon-cadeau .actions2,
  488.     .shop-bf.items-slider .item .category {
  489.         background-color: #FFF446;
  490.         color: #000000;
  491.     }
  492.     .shop-bf .bon-cadeau::before {
  493.         background-color: #fff4462e !important;
  494.     }
  495.     .shop-bf .bon-cadeau ul li::before {
  496.         color: #FFF446;
  497.     }
  498.     .shop-bf .options label {
  499.         border-bottom: #FFF446;
  500.     }
  501.     .shop-bf .bon-cadeau:hover::before {
  502.         border: 1px solid #000000 !important;
  503.     }
  504.     .shop-bf .barre {
  505.         text-decoration: line-through;
  506.         margin-left: -65px;
  507.         background-color: #FFF446;
  508.         border-radius: 16px;
  509.         padding: 8px 8px 7px 8px;
  510.         text-decoration-thickness: 2px;
  511.     }
  512.   </style>
  513. {% endblock %}
  514. {% block body %}
  515. {% if category_slug is null %}
  516.       <div class="content nav-content" style="margin-top:60px">
  517.         <div class="row fluid-menu">
  518.           <div class="nav-menu">
  519.             <div class="nav-list">
  520.               <div class="overlay"></div>
  521.               <ul>
  522.               {% for category in categories %}
  523.                 <li class="{{ (category.slug == 'bon-cadeau') ? 'active hover' : 'soon' }}"><a href="{{ (category.slug == 'bon-cadeau') ? path('framework_front_shop_cat', {'category_slug': category.slug, 'locale': app.request.locale}) : '#' }}">{{ category.name[app.request.locale] }}</a></li>
  524.               {% endfor %}
  525.               </ul>
  526.             </div>
  527.           </div>
  528.         </div>
  529.       </div>
  530. {% else %}
  531.       <div class="content nav-content" style="margin-top:60px">
  532.         <div class="row fluid-menu">
  533.           <div class="nav-menu">
  534.             <div class="nav-list">
  535.               <div class="overlay"></div>
  536.               <ul>
  537.                 <li><a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/articles">{{ 'shop_all'|tr(tr)|raw }}</a></li>
  538.                 <li class="{{ (category.slug == 'bon-cadeau') ? 'active hover' : 'soon' }}"><a href="{{ (category.slug == 'bon-cadeau') ? path('framework_front_shop_cat', {'category_slug': category.slug, 'locale': app.request.locale}) : '#' }}">{{ categoryName|replace({'Bons cadeaux': 'menu_bons'|tr(tr) }) }}</a></li>
  539.               </ul>
  540.             </div>
  541.           </div>
  542.         </div>
  543.       </div>
  544. {% endif %}
  545. {% if category_slug is null or category_slug == 'bon-cadeau' %}
  546.     <section class="espace-content full mt-0" id="bon-cadeau" >
  547.       <div class="content">
  548.         <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}" class="link-back"><img src="/front/img/button-arrow-r-l.svg" alt="back" width="25px" class="me-2" />{{ 'shop_back'|tr(tr)|raw }}</a>
  549.         <h1 class=" mb-3 no-bar mt-4">{{ categoryName|replace({'Bons cadeaux': 'menu_bons'|tr(tr) }) }} / {{ 'shop_bons_season'|tr(tr)|raw }}<span class="full-bar"></span></h1>
  550.         <span class="bon-badge">{{ 'shop_bons_badge'|tr(tr)|raw }}</span>
  551.           <p class="pt-4 pb-0 text-black">
  552.           {{ 'shop_bons_subtitle'|tr(tr)|raw }}
  553.           </p>
  554.       </div>
  555.     </section>
  556. {#
  557.     <h3 id="bf" class="shop_bons_section mt-5">{{ 'shop_bons_section_bf'|tr(tr)|upper|raw }}</h3>
  558.     <div class="items-slider pack-slider espace-content p-0 mt-3 mb-5 shop-bf">
  559.         <div class="content pb-5 mt-3">
  560.             <div class="row shop_bons_section2 justify-content-center" id="bon-cadeau-results">
  561.                 {% for item in bons %}
  562.                     {% set saved = false %}
  563.                     {% for bookmark in bookmarks %}
  564.                         {% if bookmark.product.id == item.id %}
  565.                             {% set saved = true %}
  566.                         {% endif %}
  567.                     {% endfor %}
  568.                     {% if item.slug in ['bon-cadeau-23', 'bon-cadeau-24'] %}
  569.                         <div class="item col-md-4 mb-5" id="{{ item.slug }}">
  570.                             <div class="bon-cadeau">
  571.                                 <div class="col-md-12">
  572.                                     <a href="#" class="favoris trigger-modal {{ (is_granted('IS_AUTHENTICATED_REMEMBERED')) ? 'bookmark' : 'not-logged-in' }} {{ (saved) ? 'saved' : '' }}" data-id="{{ item.id }}"><i></i></a>
  573.                                     <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}" class="cover-container">
  574.                                         <div class="per-person"><span>{{ 'shop_bons_person'|tr(tr)|raw }}</span> <img height="11px" src="/front/img/user-icon.svg" alt="person"></div>
  575.                                         #}
  576. {# <div class="name-hover"><p>{{ item.nameLocale(app.request.locale)|replace({'Formule ': ''})|upper }}</p> <span>Valable saison 2022-2023</span></div> #}{#
  577.                                         <img alt="{{ item.nameLocale(app.request.locale) }}" class="cover" src="/uploads/products/{{item.id}}/{{item.mainImage}}" />
  578.                                         <div class="date-article">
  579.                                             <p>{{ 'shop_bons_valable'|tr(tr)|raw }} </p>
  580.                                         </div>
  581.                                     </a>
  582.                                 </div>
  583.                                 <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}" class="cover-container">
  584.                                     <span class="name">{{ item.nameLocale(app.request.locale) }}</span>
  585.                                     <span class="subname">{{ item.usecaseLocale(app.request.locale) }}</span>
  586.                                     <span class="category">{{ 'menu_bons'|tr(tr)|upper|raw }}</span>
  587.                                 </a>
  588.                                 <div class="additional" >
  589.                                     {{ item.additionalLocale(app.request.locale)|raw }}
  590.                                 </div>
  591.                                 <div class="actions2 one">
  592.                                     <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}">
  593.                                         <span class="price"><span class="barre">{{ item.priceFr|replace({'83,20': '104', '77,60': "97"}) }} €</span> {{ item.priceFr }} €</span>
  594.                                         <p class="no-cart fast-cart text-black p-0">Je commande</p>
  595.                                     </a>
  596.                                 </div>
  597.                                 <div class="options small" href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}">
  598.                                     <label>{{ 'shop_product_options_title2'|tr(tr)|raw }}</label>
  599.                                     <div class="row">
  600.                                         <div class="col-12">
  601.                                       <span class="option-content">
  602.                                         Restaurant
  603.                                     </span>
  604.                                             <ul class="mt-3">
  605.                                                 {% for option in options %}
  606.                                                     {% if option.restaurant  == true %}
  607.                                                         <li class="option-{{option.id}}" style="height: 85px">
  608.                                                             {% if option.desc != '' %}<span class="infos" data-desc="{{ option.desc }}" title="{{ option.desc }}">i</span>{% endif %}
  609.                                                             <p class="title">{{ option.name }}<br>{% if option.sub != '' %} <span class="sub">{{ option.sub }}</span> {% endif %}</p>
  610.                                                             <p class="price">(+ {{ option.price }} €)</p>
  611.                                                         </li>
  612.                                                     {% endif %}
  613.                                                 {% endfor %}
  614.                                             </ul>
  615.                                         </div>
  616.                                         <div class="col-12">
  617.                                     <span class="option-content">
  618.                                         Lounge Club
  619.                                     </span>
  620.                                             <ul class="mt-3">
  621.                                                 {% for option in options %}
  622.                                                     {% if option.lounge  == true %}
  623.                                                         <li class="option-{{option.id}}">
  624.                                                             <p class="title">{{ option.name }}<br>{% if option.lounge %}<span>Lounge Club</span>{% endif %}</p>
  625.                                                             <p class="price" {% if not option.lounge and option.id < 3 %}style="margin-top: 10px;"{% endif %}>(+ {{ option.price }} €)</p>
  626.                                                         </li>
  627.                                                     {% endif %}
  628.                                                 {% endfor %}
  629.                                             </ul>
  630.                                         </div>
  631.                                     </div>
  632.                                     <div class="row">
  633.                                         <div class="col-12">
  634.                                     <span class="option-content">
  635.                                       {{ 'cadeau_title'|tr(tr)|raw }}
  636.                                     </span>
  637.                                             <ul class="mt-3">
  638.                                                 {% for option in options %}
  639.                                                     {% if option.boutique  == true %}
  640.                                                         <li class="option-{{option.id}}">
  641.                                                             {% if option.desc != '' %}<span class="infos" data-desc="{{ option.desc }}" title="{{ option.desc }}">i</span>{% endif %}
  642.                                                             <p class="title">{{ option.name }}<br>{% if option.lounge %}<span>Lounge Club</span>{% endif %}</p>
  643.                                                             <p class="price" {% if not option.lounge and option.id < 3 %}style="margin-top: 10px;"{% endif %}>(+ {{ option.price }} €)</p>
  644.                                                         </li>
  645.                                                     {% endif %}
  646.                                                 {% endfor %}
  647.                                             </ul>
  648.                                         </div>
  649.                                     </div>
  650.                                 </div>
  651.                             </div>
  652.                         </div>
  653.                     {% endif %}
  654.                 {% endfor %}
  655.             </div>
  656.         </div>
  657.     </div>
  658. #}
  659.     <h3 class="shop_bons_section mt-5">{{ 'shop_bons_section1'|tr(tr)|upper|raw }}</h3>
  660.     <div class="items-slider pack-slider espace-content p-0 mt-3 mb-5">
  661.       <div class="content pb-5 mt-3">
  662.         <div class="row shop_bons_section2" id="bon-cadeau-results">
  663. {#              {% for item in bons %}
  664.                   {% set saved = false %}
  665.                   {% for bookmark in bookmarks %}
  666.                     {% if bookmark.product.id == item.id %}
  667.                       {% set saved = true %}
  668.                     {% endif %}
  669.                   {% endfor %}
  670.                   {% if item.slug in ['bon-cadeau-4', 'bon-cadeau-11'] %}
  671.                   <div class="item col-md-6 mb-5" id="{{ item.slug }}">
  672.                     <div class="bon-cadeau row">
  673.                       <div class="col-md-5">
  674.                           <a href="#" class="favoris trigger-modal {{ (is_granted('IS_AUTHENTICATED_REMEMBERED')) ? 'bookmark' : 'not-logged-in' }} {{ (saved) ? 'saved' : '' }}" data-id="{{ item.id }}"><i></i></a>
  675.                         <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}">
  676.                           <div class="per-person"><span>{{ 'shop_bons_person'|tr(tr)|raw }}</span> <img height="11px" src="/front/img/user-icon.svg" alt="person"></div>
  677.                           #}{# <div class="name-hover"><p>{{ item.nameLocale(app.request.locale)|replace({'Formule ': ''})|upper }}</p> <span>Valable saison 2022-2023</span></div> #}{#
  678.                           <img alt="{{ item.nameLocale(app.request.locale) }}" class="cover" src="/uploads/products/{{item.id}}/{{item.mainImage}}" />
  679.                             <div class="date-article">
  680.                                 <p>{{ 'shop_bons_valable'|tr(tr)|raw }} </p>
  681.                             </div>
  682.                         </a>
  683.                       </div>
  684.                       <div class="col-md-7 pt-5">
  685.                         <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}">
  686.                           <span class="name">{{ item.nameLocale(app.request.locale) }}</span>
  687.                           <span class="subname">{{ item.usecaseLocale(app.request.locale) }}</span>
  688.                           <span class="category">{{ 'menu_bons'|tr(tr)|upper|raw }}</span>
  689.                         </a>
  690.                          <div class="additional">
  691.                              {{ item.additionalLocale(app.request.locale)|raw }}
  692.                          </div>
  693.                             <div class="actions2 ">
  694.                                 <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}">
  695.                                 <span class="price">{{ item.priceFr }} €</span>
  696.                                 <p class="no-cart fast-cart text-black p-0">Je commande</p>
  697.                                 </a>
  698.                             </div>
  699.                         <div class="options" href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}">
  700.                           <label>{{ 'shop_product_options_title2'|tr(tr)|raw }}</label>
  701.                             <div class="row">
  702.                                 <div class="col-12">
  703.                                       <span class="option-content">
  704.                                         Restaurant
  705.                                     </span>
  706.                                     <ul class="mt-3">
  707.                                         {% for option in options %}
  708.                                             {% if option.restaurant  == true %}
  709.                                                 <li class="option-{{option.id}}" style="height: 85px">
  710.                                                     {% if option.desc != '' %}<span class="infos" data-desc="{{ option.desc }}" title="{{ option.desc }}">i</span>{% endif %}
  711.                                                     <p class="title">{{ option.name }}<br>{% if option.sub != '' %} <span class="sub">{{ option.sub }}</span> {% endif %}</p>
  712.                                                     <p class="price">(+ {{ option.price }} €)</p>
  713.                                                 </li>
  714.                                             {% endif %}
  715.                                         {% endfor %}
  716.                                     </ul>
  717.                                 </div>
  718.                                 <div class="col-12">
  719.                                     <span class="option-content">
  720.                                         Lounge Club
  721.                                     </span>
  722.                                     <ul class="mt-3">
  723.                                         {% for option in options %}
  724.                                             {% if option.lounge  == true %}
  725.                                                 <li class="option-{{option.id}}">
  726.                                                     {% if option.desc != '' %}<span class="infos" data-desc="{{ option.desc }}" title="{{ option.desc }}">i</span>{% endif %}
  727.                                                     <p class="title">{{ option.name }}<br>{% if option.lounge %}<span>Lounge Club</span>{% endif %}</p>
  728.                                                     <p class="price" {% if not option.lounge and option.id < 3 %}style="margin-top: 10px;"{% endif %}>(+ {{ option.price }} €)</p>
  729.                                                 </li>
  730.                                             {% endif %}
  731.                                         {% endfor %}
  732.                                     </ul>
  733.                                 </div>
  734.                             </div>
  735.                             <div class="row">
  736.                                 <div class="col-12">
  737.                                     <span class="option-content">
  738.                                       {{ 'cadeau_title'|tr(tr)|raw }}
  739.                                     </span>
  740.                                     <ul class="mt-3">
  741.                                         {% for option in options %}
  742.                                             {% if option.boutique  == true %}
  743.                                                 <li class="option-{{option.id}}">
  744.                                                     {% if option.desc != '' %}<span class="infos" data-desc="{{ option.desc }}" title="{{ option.desc }}">i</span>{% endif %}
  745.                                                     <p class="title">{{ option.name }}<br>{% if option.lounge %}<span>Lounge Club</span>{% endif %}</p>
  746.                                                     <p class="price" {% if not option.lounge and option.id < 3 %}style="margin-top: 10px;"{% endif %}>(+ {{ option.price }} €)</p>
  747.                                                 </li>
  748.                                             {% endif %}
  749.                                         {% endfor %}
  750.                                     </ul>
  751.                                 </div>
  752.                             </div>
  753.                         </div>
  754.                       </div>
  755.                     </div>
  756.                   </div>
  757.                   {% endif %}
  758.               {% endfor %}#}
  759.             {% for item in bons %}
  760.                 {% set saved = false %}
  761.                 {% for bookmark in bookmarks %}
  762.                     {% if bookmark.product.id == item.id %}
  763.                         {% set saved = true %}
  764.                     {% endif %}
  765.                 {% endfor %}
  766.                 {% if item.slug in ['bon-cadeau-22', 'bon-cadeau-15', 'bon-cadeau-16'] %}
  767.                     <div class="item col-md-6 col-lg-4 mb-5" id="{{ item.slug }}">
  768.                         <div class="bon-cadeau">
  769.                             <div class="col-md-12">
  770.                                 <a href="#" class="favoris trigger-modal {{ (is_granted('IS_AUTHENTICATED_REMEMBERED')) ? 'bookmark' : 'not-logged-in' }} {{ (saved) ? 'saved' : '' }}" data-id="{{ item.id }}"><i></i></a>
  771.                                 <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}" class="cover-container">
  772.                                     <div class="per-person"><span>{{ 'shop_bons_person'|tr(tr)|raw }}</span> <img height="11px" src="/front/img/user-icon.svg" alt="person"></div>
  773.                                     {# <div class="name-hover"><p>{{ item.nameLocale(app.request.locale)|replace({'Formule ': ''})|upper }}</p> <span>Valable saison 2022-2023</span></div> #}
  774.                                     <img alt="{{ item.nameLocale(app.request.locale) }}" class="cover" src="/uploads/products/{{item.id}}/{{item.mainImage}}" />
  775.                                     <div class="date-article">
  776.                                         <p>{{ 'shop_bons_valable'|tr(tr)|raw }} </p>
  777.                                     </div>
  778.                                 </a>
  779.                             </div>
  780.                             <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}" class="cover-container">
  781.                                 <span class="name">{{ item.nameLocale(app.request.locale) }}</span>
  782.                                 <span class="subname">{{ item.usecaseLocale(app.request.locale) }}</span>
  783.                                 <span class="category">{{ 'menu_bons'|tr(tr)|upper|raw }}</span>
  784.                             </a>
  785.                             <div class="additional" >
  786.                                 {{ item.additionalLocale(app.request.locale)|raw }}
  787.                             </div>
  788.                             <div class="actions2 one">
  789.                                 <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}">
  790.                                     <span class="price">{{ item.priceFr }} €</span>
  791.                                     <p class="no-cart fast-cart text-black p-0">Je commande</p>
  792.                                 </a>
  793.                             </div>
  794.                             <div class="options small" href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}">
  795.                                 <label>{{ 'shop_product_options_title2'|tr(tr)|raw }}</label>
  796.                                 <div class="row">
  797.                                     <div class="col-12">
  798.                                       <span class="option-content">
  799.                                         Restaurant
  800.                                     </span>
  801.                                         <ul class="mt-3">
  802.                                             {% for option in options %}
  803.                                                 {% if option.restaurant  == true %}
  804.                                                     <li class="option-{{option.id}}" style="height: 85px">
  805.                                                         {% if option.desc != '' %}<span class="infos" data-desc="{{ option.desc }}" title="{{ option.desc }}">i</span>{% endif %}
  806.                                                         <p class="title">{{ option.name }}<br>{% if option.sub != '' %} <span class="sub">{{ option.sub }}</span> {% endif %}</p>
  807.                                                         <p class="price">(+ {{ option.price }} €)</p>
  808.                                                     </li>
  809.                                                 {% endif %}
  810.                                             {% endfor %}
  811.                                         </ul>
  812.                                     </div>
  813.                                     <div class="col-12">
  814.                                     <span class="option-content">
  815.                                         Lounge Club
  816.                                     </span>
  817.                                         <ul class="mt-3">
  818.                                             {% for option in options %}
  819.                                                 {% if option.lounge  == true %}
  820.                                                     <li class="option-{{option.id}}">
  821.                                                         <p class="title">{{ option.name }}<br>{% if option.lounge %}<span>Lounge Club</span>{% endif %}</p>
  822.                                                         <p class="price" {% if not option.lounge and option.id < 3 %}style="margin-top: 10px;"{% endif %}>(+ {{ option.price }} €)</p>
  823.                                                     </li>
  824.                                                 {% endif %}
  825.                                             {% endfor %}
  826.                                         </ul>
  827.                                     </div>
  828.                                 </div>
  829.                                 <div class="row">
  830.                                     <div class="col-12">
  831.                                     <span class="option-content">
  832.                                       {{ 'cadeau_title'|tr(tr)|raw }}
  833.                                     </span>
  834.                                         <ul class="mt-3">
  835.                                             {% for option in options %}
  836.                                                 {% if option.boutique  == true %}
  837.                                                     <li class="option-{{option.id}}">
  838.                                                         {% if option.desc != '' %}<span class="infos" data-desc="{{ option.desc }}" title="{{ option.desc }}">i</span>{% endif %}
  839.                                                         <p class="title">{{ option.name }}<br>{% if option.lounge %}<span>Lounge Club</span>{% endif %}</p>
  840.                                                         <p class="price" {% if not option.lounge and option.id < 3 %}style="margin-top: 10px;"{% endif %}>(+ {{ option.price }} €)</p>
  841.                                                     </li>
  842.                                                 {% endif %}
  843.                                             {% endfor %}
  844.                                         </ul>
  845.                                     </div>
  846.                                 </div>
  847.                             </div>
  848.                         </div>
  849.                     </div>
  850.                 {% endif %}
  851.             {% endfor %}
  852.         </div>
  853.       </div>
  854.     </div>
  855.     <h3 class="shop_bons_section mt-5">{{ 'shop_bons_section2'|tr(tr)|upper|raw }}</h3>
  856.     <div class="items-slider pack-slider espace-content p-0 mt-3 mb-5">
  857.       <div class="content pb-5 mt-3">
  858.         <div class="row shop_bons_section2" id="bon-cadeau-results">
  859.               {% for item in bons %}
  860.                   {% set saved = false %}
  861.                   {% for bookmark in bookmarks %}
  862.                     {% if bookmark.product.id == item.id %}
  863.                       {% set saved = true %}
  864.                     {% endif %}
  865.                   {% endfor %}
  866.                   {% if item.slug in ['bon-cadeau-12', 'bon-cadeau-13', 'bon-cadeau-14'] %}
  867.                   <div class="item col-md-6 col-lg-4 mb-5" id="{{ item.slug }}">
  868.                     <div class="bon-cadeau">
  869.                       <div class="col-md-12">
  870.                           <a href="#" class="favoris trigger-modal {{ (is_granted('IS_AUTHENTICATED_REMEMBERED')) ? 'bookmark' : 'not-logged-in' }} {{ (saved) ? 'saved' : '' }}" data-id="{{ item.id }}"><i></i></a>
  871.                         <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}" class="cover-container">
  872.                           <div class="per-person"><span>{{ 'shop_bons_person'|tr(tr)|raw }}</span> <img height="11px" src="/front/img/user-icon.svg" alt="person"></div>
  873.                           {# <div class="name-hover"><p>{{ item.nameLocale(app.request.locale)|replace({'Formule ': ''})|upper }}</p> <span>Valable saison 2022-2023</span></div> #}
  874.                           <img alt="{{ item.nameLocale(app.request.locale) }}" class="cover" src="/uploads/products/{{item.id}}/{{item.mainImage}}" />
  875.                             <div class="date-article">
  876.                                 <p>{{ 'shop_bons_valable'|tr(tr)|raw }} </p>
  877.                             </div>
  878.                         </a>
  879.                       </div>
  880.                           <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}" class="cover-container">
  881.                             <span class="name">{{ item.nameLocale(app.request.locale) }}</span>
  882.                             <span class="subname">{{ item.usecaseLocale(app.request.locale) }}</span>
  883.                             <span class="category">{{ 'menu_bons'|tr(tr)|upper|raw }}</span>
  884.                           </a>
  885.                             <div class="additional" >
  886.                                 {{ item.additionalLocale(app.request.locale)|raw }}
  887.                             </div>
  888.                       <div class="actions2 one">
  889.                           <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}">
  890.                               <span class="price">{{ item.priceFr }} €</span>
  891.                               <p class="no-cart fast-cart text-black p-0">Je commande</p>
  892.                           </a>
  893.                       </div>
  894.                         <div class="options small" href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}">
  895.                           <label>{{ 'shop_product_options_title2'|tr(tr)|raw }}</label>
  896.                             <div class="row">
  897.                                 <div class="col-12">
  898.                                       <span class="option-content">
  899.                                         Restaurant
  900.                                     </span>
  901.                                     <ul class="mt-3">
  902.                                         {% for option in options %}
  903.                                             {% if option.restaurant  == true %}
  904.                                                 <li class="option-{{option.id}}" style="height: 85px">
  905.                                                     {% if option.desc != '' %}<span class="infos" data-desc="{{ option.desc }}" title="{{ option.desc }}">i</span>{% endif %}
  906.                                                     <p class="title">{{ option.name }}<br>{% if option.sub != '' %} <span class="sub">{{ option.sub }}</span> {% endif %}</p>
  907.                                                     <p class="price">(+ {{ option.price }} €)</p>
  908.                                                 </li>
  909.                                             {% endif %}
  910.                                         {% endfor %}
  911.                                     </ul>
  912.                                 </div>
  913.                                 <div class="col-12">
  914.                                     <span class="option-content">
  915.                                         Lounge Club
  916.                                     </span>
  917.                                     <ul class="mt-3">
  918.                                         {% for option in options %}
  919.                                             {% if option.lounge  == true %}
  920.                                                 <li class="option-{{option.id}}">
  921.                                                     <p class="title">{{ option.name }}<br>{% if option.lounge %}<span>Lounge Club</span>{% endif %}</p>
  922.                                                     <p class="price" {% if not option.lounge and option.id < 3 %}style="margin-top: 10px;"{% endif %}>(+ {{ option.price }} €)</p>
  923.                                                 </li>
  924.                                             {% endif %}
  925.                                         {% endfor %}
  926.                                     </ul>
  927.                                 </div>
  928.                             </div>
  929.                             <div class="row">
  930.                                 <div class="col-12">
  931.                                     <span class="option-content">
  932.                                       {{ 'cadeau_title'|tr(tr)|raw }}
  933.                                     </span>
  934.                                     <ul class="mt-3">
  935.                                         {% for option in options %}
  936.                                             {% if option.boutique  == true %}
  937.                                                 <li class="option-{{option.id}}">
  938.                                                     {% if option.desc != '' %}<span class="infos" data-desc="{{ option.desc }}" title="{{ option.desc }}">i</span>{% endif %}
  939.                                                     <p class="title">{{ option.name }}<br>{% if option.lounge %}<span>Lounge Club</span>{% endif %}</p>
  940.                                                     <p class="price" {% if not option.lounge and option.id < 3 %}style="margin-top: 10px;"{% endif %}>(+ {{ option.price }} €)</p>
  941.                                                 </li>
  942.                                             {% endif %}
  943.                                         {% endfor %}
  944.                                     </ul>
  945.                                 </div>
  946.                             </div>
  947.                         </div>
  948.                     </div>
  949.                   </div>
  950.                   {% endif %}
  951.               {% endfor %}
  952.         </div>
  953.       </div>
  954.     </div>
  955.     <h3 class="shop_bons_section mt-5">{{ 'shop_bons_section3'|tr(tr)|upper|raw }}</h3>
  956.     <div class="items-slider pack-slider espace-content p-0 mt-3 mb-5">
  957.       <div class="content pb-5 mt-3">
  958.         <div class="row shop_bons_section2" id="bon-cadeau-results">
  959.               {% for item in bons %}
  960.                   {% set saved = false %}
  961.                   {% for bookmark in bookmarks %}
  962.                     {% if bookmark.product.id == item.id %}
  963.                       {% set saved = true %}
  964.                     {% endif %}
  965.                   {% endfor %}
  966.                   {% if item.slug in ['bon-cadeau-17', 'bon-cadeau-18', 'bon-cadeau-19'] %}
  967.                   <div class="item col-md-6 col-lg-4 mb-5" id="{{ item.slug }}">
  968.                     <div class="bon-cadeau">
  969.                       <div class="col-md-12">
  970.                           <a href="#" class="favoris trigger-modal {{ (is_granted('IS_AUTHENTICATED_REMEMBERED')) ? 'bookmark' : 'not-logged-in' }} {{ (saved) ? 'saved' : '' }}" data-id="{{ item.id }}"><i></i></a>
  971.                         <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}" class="cover-container">
  972.                           <div class="per-person"><span>{{ 'shop_bons_person'|tr(tr)|raw }}</span> <img height="11px" src="/front/img/user-icon.svg" alt="person"></div>
  973.                           {# <div class="name-hover"><p>{{ item.nameLocale(app.request.locale)|replace({'Formule ': ''})|upper }}</p> <span>Valable saison 2022-2023</span></div> #}
  974.                           <img alt="{{ item.nameLocale(app.request.locale) }}" class="cover" src="/uploads/products/{{item.id}}/{{item.mainImage}}" />
  975.                             <div class="date-article">
  976.                                 <p>{{ 'shop_bons_valable'|tr(tr)|raw }} </p>
  977.                             </div>
  978.                         </a>
  979.                       </div>
  980.                       <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}" class="cover-container">
  981.                         <span class="name">{{ item.nameLocale(app.request.locale) }}</span>
  982.                         <span class="subname">{{ item.usecaseLocale(app.request.locale) }}</span>
  983.                         <span class="category">{{ 'menu_bons'|tr(tr)|upper|raw }}</span>
  984.                       </a>
  985.                           <div class="additional">
  986.                               {{ item.additionalLocale(app.request.locale)|raw }}
  987.                           </div>
  988.                           <div class="actions2 add">
  989.                               <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}">
  990.                                   <span class="price">{{ item.priceFr }} €</span>
  991.                                   <p class="no-cart fast-cart text-black p-0">Je commande</p>
  992.                               </a>
  993.                           </div>
  994.                         <div class="options small" href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}">
  995.                           <label>{{ 'shop_product_options_title2'|tr(tr)|raw }}</label>
  996.                             <div class="row">
  997.                                 <div class="col-12">
  998.                                         <span class="option-content d-none">
  999.                                         Restaurant
  1000.                                         </span>
  1001.                                             <ul class="mt-3  d-none">
  1002.                                                 {% for option in options %}
  1003.                                                     {% if option.restaurant  == true %}
  1004.                                                         <li class="option-{{option.id}}" style="height: 85px">
  1005.                                                             <p class="title">{{ option.name }}<br>{% if option.sub != '' %} <span class="sub">{{ option.sub }}</span> {% endif %}</p>
  1006.                                                             <p class="price">(+ {{ option.price }} €)</p>
  1007.                                                         </li>
  1008.                                                     {% endif %}
  1009.                                                 {% endfor %}
  1010.                                             </ul>
  1011.                                 </div>
  1012.                                 <div class="col-12">
  1013.                                     <span class="option-content">
  1014.                                         Lounge Club
  1015.                                     </span>
  1016.                                     <ul class="mt-3">
  1017.                                         {% for option in options %}
  1018.                                             {% if option.lounge  == true %}
  1019.                                                 <li class="option-{{option.id}}">
  1020.                                                     <p class="title">{{ option.name }}<br>{% if option.lounge %}<span>Lounge Club</span>{% endif %}</p>
  1021.                                                     <p class="price" {% if not option.lounge and option.id < 3 %}style="margin-top: 10px;"{% endif %}>(+ {{ option.price }} €)</p>
  1022.                                                 </li>
  1023.                                             {% endif %}
  1024.                                         {% endfor %}
  1025.                                     </ul>
  1026.                                 </div>
  1027.                             </div>
  1028.                             <div class="row">
  1029.                                 <div class="col-12">
  1030.                                     <span class="option-content">
  1031.                                       {{ 'cadeau_title'|tr(tr)|raw }}
  1032.                                     </span>
  1033.                                     <ul class="mt-3">
  1034.                                         {% for option in options %}
  1035.                                             {% if option.boutique  == true %}
  1036.                                                 <li class="option-{{option.id}}">
  1037.                                                     <p class="title">{{ option.name }}<br>{% if option.lounge %}<span>Lounge Club</span>{% endif %}</p>
  1038.                                                     <p class="price" {% if not option.lounge and option.id < 3 %}style="margin-top: 10px;"{% endif %}>(+ {{ option.price }} €)</p>
  1039.                                                 </li>
  1040.                                             {% endif %}
  1041.                                         {% endfor %}
  1042.                                     </ul>
  1043.                                 </div>
  1044.                             </div>
  1045.                         </div>
  1046.                     </div>
  1047.                   </div>
  1048.                   {% endif %}
  1049.               {% endfor %}
  1050.         </div>
  1051.       </div>
  1052.     </div>
  1053.     <h3 class="shop_bons_section mt-5">{{ 'shop_bons_section4'|tr(tr)|upper|raw }}</h3>
  1054.     <div class="items-slider pack-slider espace-content p-0 mt-3 mb-5">
  1055.       <div class="content pb-5 mt-3">
  1056.         <div class="row shop_bons_section1" id="bon-cadeau-results">
  1057.               {% for item in bons %}
  1058.                   {% set saved = false %}
  1059.                   {% for bookmark in bookmarks %}
  1060.                     {% if bookmark.product.id == item.id %}
  1061.                       {% set saved = true %}
  1062.                     {% endif %}
  1063.                   {% endfor %}
  1064.                   {% if item.slug in ['bon-cadeau-20'] %}
  1065.                   <div class="item col-md-12 col-lg-6 mb-5" id="{{ item.slug }}">
  1066.                     <div class="bon-cadeau row">
  1067.                       <div class="col-md-5">
  1068.                           <a href="#" class="favoris trigger-modal {{ (is_granted('IS_AUTHENTICATED_REMEMBERED')) ? 'bookmark' : 'not-logged-in' }} {{ (saved) ? 'saved' : '' }}" data-id="{{ item.id }}"><i></i></a>
  1069.                         <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}">
  1070.                           <div class="per-person"><span>{{ 'shop_bons_person'|tr(tr)|raw }}</span> <img height="11px" src="/front/img/user-icon.svg" alt="person"></div>
  1071.                           {# <div class="name-hover"><p>{{ item.nameLocale(app.request.locale)|replace({'Formule ': ''})|upper }}</p> <span>Valable saison 2022-2023</span></div> #}
  1072.                           <img alt="{{ item.nameLocale(app.request.locale) }}" class="cover" src="/uploads/products/{{item.id}}/{{item.mainImage}}" />
  1073.                             <div class="date-article">
  1074.                                 <p>{{ 'shop_bons_valable'|tr(tr)|raw }} </p>
  1075.                             </div>
  1076.                         </a>
  1077.                       </div>
  1078.                       <div class="col-md-7 pt-5">
  1079.                         <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}">
  1080.                           <span class="name">{{ item.nameLocale(app.request.locale) }}</span>
  1081.                           <span class="subname">{{ item.usecaseLocale(app.request.locale) }}</span>
  1082.                           <span class="category">{{ 'menu_bons'|tr(tr)|upper|raw }}</span>
  1083.                         </a>
  1084.                             <div class="additional">
  1085.                                 {{ item.additionalLocale(app.request.locale)|raw }}
  1086.                             </div>
  1087.                             <div class="actions2">
  1088.                                 <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}">
  1089.                                     <span class="price">{{ item.priceFr }} €</span>
  1090.                                     <p class="no-cart fast-cart text-black p-0">Je commande</p>
  1091.                                 </a>
  1092.                             </div>
  1093.                         <div class="options" href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}">
  1094.                           <label>{{ 'shop_product_options_title2'|tr(tr)|raw }}</label>
  1095.                             <div class="row">
  1096.                                 <div class="col-12">
  1097.                                       <span class="option-content  d-none">
  1098.                                         Restaurant
  1099.                                     </span>
  1100.                                     <ul class="mt-3 d-none">
  1101.                                         {% for option in options %}
  1102.                                             {% if option.restaurant  == true %}
  1103.                                                 <li class="option-{{option.id}}" style="height: 85px">
  1104.                                                     <p class="title">{{ option.name }}<br>{% if option.sub != '' %} <span class="sub">{{ option.sub }}</span> {% endif %}</p>
  1105.                                                     <p class="price">(+ {{ option.price }} €)</p>
  1106.                                                 </li>
  1107.                                             {% endif %}
  1108.                                         {% endfor %}
  1109.                                     </ul>
  1110.                                 </div>
  1111.                                 <div class="col-12">
  1112.                                     <span class="option-content">
  1113.                                         Lounge Club
  1114.                                     </span>
  1115.                                     <ul class="mt-3">
  1116.                                         {% for option in options %}
  1117.                                             {% if option.lounge  == true %}
  1118.                                                 <li class="option-{{option.id}}">
  1119.                                                     <p class="title">{{ option.name }}<br>{% if option.lounge %}<span>Lounge Club</span>{% endif %}</p>
  1120.                                                     <p class="price" {% if not option.lounge and option.id < 3 %}style="margin-top: 10px;"{% endif %}>(+ {{ option.price }} €)</p>
  1121.                                                 </li>
  1122.                                             {% endif %}
  1123.                                         {% endfor %}
  1124.                                     </ul>
  1125.                                 </div>
  1126.                             </div>
  1127.                             <div class="row">
  1128.                                 <div class="col-12">
  1129.                                     <span class="option-content">
  1130.                                       {{ 'cadeau_title'|tr(tr)|raw }}
  1131.                                     </span>
  1132.                                     <ul class="mt-3">
  1133.                                         {% for option in options %}
  1134.                                             {% if option.boutique  == true %}
  1135.                                                 <li class="option-{{option.id}}">
  1136.                                                     <p class="title">{{ option.name }}<br>{% if option.lounge %}<span>Lounge Club</span>{% endif %}</p>
  1137.                                                     <p class="price" {% if not option.lounge and option.id < 3 %}style="margin-top: 10px;"{% endif %}>(+ {{ option.price }} €)</p>
  1138.                                                 </li>
  1139.                                             {% endif %}
  1140.                                         {% endfor %}
  1141.                                     </ul>
  1142.                                 </div>
  1143.                             </div>
  1144.                         </div>
  1145.                       </div>
  1146.                     </div>
  1147.                   </div>
  1148.                   {% endif %}
  1149.               {% endfor %}
  1150.               {% for item in bons %}
  1151.                   {% set saved = false %}
  1152.                   {% for bookmark in bookmarks %}
  1153.                     {% if bookmark.product.id == item.id %}
  1154.                       {% set saved = true %}
  1155.                     {% endif %}
  1156.                   {% endfor %}
  1157.                   {% if item.slug in ['bon-cadeau-21'] %}
  1158.                   <div class="item col-md-12 col-lg-6 mb-5 {{ loop.last ? 'last-item-class' : '' }}" id="bon-cadeau-10">
  1159.                     <div class="bon-cadeau row" style="margin-top: 10px;">
  1160.                       <div class="col-md-5">
  1161.                         <div style="position: relative;">
  1162.                           <img alt="{{ item.nameLocale(app.request.locale) }}" class="cover" src="/uploads/products/{{item.id}}/{{item.mainImage}}" />
  1163.                             <div class="date-article">
  1164.                                 <p>{{ 'shop_bons_valable'|tr(tr)|raw }} </p>
  1165.                             </div>
  1166.                         </div>
  1167.                       </div>
  1168.                       <div class="col-md-7 pt-5">
  1169.                         <div style="position: relative;">
  1170.                           <span class="name">{{ item.nameLocale(app.request.locale) }}</span>
  1171.                           <span class="subname">{{ item.usecaseLocale(app.request.locale) }}</span>
  1172.                           <span class="category">{{ 'menu_bons'|tr(tr)|upper|raw }}</span>
  1173.                           {{ item.additionalLocale(app.request.locale)|raw }}
  1174.                         </div>
  1175.                         <div class="actions2">
  1176.                             <input type="hidden" id="bon-cadeau-10-value" value="{{ item.price }}" />
  1177.                             <a href="#" id="bon-cadeau-10-minus">-</a><span class="price">{{ item.priceFr }} €</span><a href="#" id="bon-cadeau-10-plus">+</a>
  1178.                             <a href="#" class="add-cart fast-cart2" data-id="{{item.id}}" style="width: 50px"><img alt="to cart" class="" src="/front/img/shop-cart.svg" /></a>
  1179.                         </div>
  1180.                       </div>
  1181.                       
  1182.                     </div>
  1183.                   </div>
  1184.                   {% endif %}
  1185.               {% endfor %}
  1186.         </div>
  1187.       </div>
  1188.     </div>
  1189.     <div class="floating-cart"><img src="/front/img/cart.svg" alt="cart" /></div>
  1190. {#         <div class="content pb-5 mt-5">
  1191.           <div class="row" id="bon-cadeau-results">
  1192.               {% for item in bons %}
  1193.                   {% set saved = false %}
  1194.                   {% for bookmark in bookmarks %}
  1195.                     {% if bookmark.product.id == item.id %}
  1196.                       {% set saved = true %}
  1197.                     {% endif %}
  1198.                   {% endfor %}
  1199.                   <div class="item col-md-3 mb-5">
  1200.                     <div class="bon-cadeau">
  1201.                       <a href="{{ (not is_granted('IS_AUTHENTICATED_REMEMBERED')) ? path('security_login') : '' }}" data-id="{{ item.id }}" class="favoris {{ (is_granted('IS_AUTHENTICATED_REMEMBERED')) ? 'bookmark' : '' }} {{ (saved) ? 'saved' : '' }}"><i></i></a>
  1202.                       <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}">
  1203.                         <div class="per-person"><span>{{ 'shop_bons_person'|tr(tr)|raw }}</span> <img height="11px" src="/front/img/user-icon.svg" alt="person"></div>
  1204.                         <img alt="{{ item.nameLocale(app.request.locale) }}" class="cover" src="/uploads/products/{{item.id}}/{{item.mainImage}}" />
  1205.                       </a>
  1206.                       <a href="/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{item.slug}}">
  1207.                         <span class="name">{{ item.nameLocale(app.request.locale) }}</span>
  1208.                         <span class="subname">{{ item.usecaseLocale(app.request.locale) }}</span>
  1209.                         <span class="category">{{ 'menu_bons'|tr(tr)|upper|raw }}</span>
  1210.                         {{ item.additionalLocale(app.request.locale)|raw }}
  1211.                       </a>
  1212.                       <div class="actions">
  1213.                           <span class="price">{{ item.priceFr }} €</span>
  1214.                           <a href="#" class="add-cart fast-cart" data-id="{{item.id}}"><img alt="to cart" class="" src="/front/img/shop-cart.svg" /></a>
  1215.                       </div>
  1216.                       
  1217.                     </div>
  1218.                   </div>
  1219.               {% endfor %}
  1220.                   <div class="floating-cart"><img src="/front/img/cart.svg" alt="cart" /></div>
  1221.           </div>
  1222.         </div> #}
  1223.     </div>
  1224. {% endif %}
  1225.     <section class="actu-content newsletter" style="margin-bottom: 180px;">
  1226.       <div class="content mt-5 pt-5">
  1227.         <h2 class="mb-5 no-bar">{{ 'newsletter_title'|tr(tr)|upper|raw }}<span class="full-bar"></span></h2>
  1228.         <div class="pt-5">
  1229.           <form>
  1230.             <p class="title">{{ 'newsletter_subtitle'|tr(tr)|raw }}</p>
  1231.             <p class="desc">{{ 'newsletter_desc'|tr(tr)|raw }}</p>
  1232.             <div class="email-input">
  1233.               <input type="text" value="" placeholder="{{ 'newsletter_email'|tr(tr)|raw }}" class="email mt-3" />
  1234.               <a href="#" class="register">&nbsp;</a>
  1235.             </div>
  1236.             <div class="row">
  1237.               <div class="col-12 mt-4">
  1238.                 <input type="checkbox" id="confirm" class="apple-switch" checked="checked" />
  1239.                 <label for="confirm">{{ 'newsletter_agree'|tr(tr)|raw }}</label>
  1240.                 <p class="text-center mt-4" id="message_newsletter"></p>
  1241.               </div>
  1242.             </div>
  1243.           </form>
  1244.         </div>
  1245.       </div>
  1246.     </section>
  1247.     {% include ('FrontBundle/Partial/modal.html.twig') %}
  1248.     {% include 'FrontBundle/Partial/footer.html.twig' %}
  1249. {% endblock %}
  1250. {% block javascripts %}
  1251.   <script src="/front/js/owl.carousel.min.js"></script>
  1252.   <script src="/front/js/wNumb.min.js"></script>
  1253.   <script src="/front/js/nouislider.min.js"></script>
  1254.   <script type="text/javascript">
  1255.     $( document ).ready(function() {
  1256.       if( window.innerWidth <= 768 ){
  1257.         $('#bon-cadeau-results .col-md-3').addClass('col-md-6');
  1258.         $('#bon-cadeau-results .col-md-3').removeClass('col-md-3');
  1259.       }
  1260.       
  1261.       if( window.innerWidth <= 1024 ){
  1262.         $('#bon-cadeau-results .col-md-3').addClass('col-md-4');
  1263.         $('#bon-cadeau-results .col-md-3').removeClass('col-md-3');
  1264.       }
  1265.         $('.additional li').each(function(index, value) {
  1266.             if($(this).data('info')){
  1267.                 var add_desc = '';
  1268.                 if( $(this).data('info') == 'sp-ga' ){
  1269.                     /*add_desc = "{{ 'shop_bons_desc1'|tr(tr)|raw }}".replace(/'/g, "\\'");*/
  1270.                     add_desc = "{{ 'shop_bons_desc1'|tr(tr)|raw }}";
  1271.                 } else if( $(this).data('info') == 'mj-m1' ){
  1272.                     /*add_desc = "{{ 'shop_bons_desc2'|tr(tr)|raw }}".replace(/'/g, "\\'");*/
  1273.                     add_desc = "{{ 'shop_bons_desc2'|tr(tr)|raw }}";
  1274.                 } else if( $(this).data('info') == 'mj-m2' ){
  1275.                     /*add_desc = "{{ 'shop_bons_desc3'|tr(tr)|raw }}".replace(/'/g, "\\'");*/
  1276.                     add_desc = "{{ 'shop_bons_desc3'|tr(tr)|raw }}";
  1277.                 } else if( $(this).data('info') == 've-m1' ){
  1278.                     /*add_desc = "{{ 'shop_bons_desc4'|tr(tr)|raw }}".replace(/'/g, "\\'");*/
  1279.                     add_desc = "{{ 'shop_bons_desc4'|tr(tr)|raw }}";
  1280.                 } else if( $(this).data('info') == 've-m2' ){
  1281.                     /*add_desc = "{{ 'shop_bons_desc5'|tr(tr)|raw }}".replace(/'/g, "\\'");*/
  1282.                     add_desc = "{{ 'shop_bons_desc5'|tr(tr)|raw }}";
  1283.                 }
  1284.                 $(this).append('<span class="infos" data-desc="'+add_desc+'">i</span>')
  1285.             }
  1286.         });
  1287.         $('.infos').each(function(index, value) {
  1288.             $(this).tooltipster({
  1289.                 content: $(this).data('desc'),
  1290.                 delay: 200,
  1291.                 contentAsHTML: true,
  1292.                 trigger: 'click'
  1293.             });
  1294.         });
  1295.         $('.options p').click(function(e){
  1296.             e.preventDefault();
  1297.             window.location.href = $(this).parents('.options').attr('href');
  1298.         });
  1299.       $('.bookmark').click(function(e){
  1300.         e.preventDefault();
  1301.         var product_id = $(this).data('id');
  1302.         var element = $(this);
  1303.         if( $(this).hasClass('saved') ){
  1304.           var action = 'unsave';
  1305.         } else {
  1306.           var action = 'save';
  1307.         }
  1308.         
  1309.         $.ajax({
  1310.           type: "POST",
  1311.           url: "/shop/product/"+action+"/"+product_id,
  1312.           data: null,
  1313.           dataType: "json",
  1314.           success: function(response) {
  1315.             if( action == 'save' ){
  1316.               element.addClass('saved');
  1317.             } else {
  1318.               element.removeClass('saved');
  1319.             }
  1320.           }
  1321.         });
  1322.       });
  1323.     });
  1324.   </script>
  1325.     <!-- script pour gérer la connexion lors de la demande d'ajout de favoris --->
  1326.     <script>
  1327.         $(document).ready(function() {
  1328.             $('.trigger-modal').on('click', function(e) {
  1329.                 e.preventDefault(); // Empêche le comportement par défaut du lien
  1330.                 const baseUrl = "/" + $("html").attr("lang"); // Construit la base de l'URL avec la locale
  1331.                 const loginUrl = baseUrl + "/security_login"; // Adaptez cette ligne si nécessaire
  1332.                 $.ajax({
  1333.                     url: baseUrl + "/user/connected",
  1334.                     success: function(data) {
  1335.                         if (!data.isLoggedIn) {
  1336.                             let modalTitle, modalContent, modalButtonText;
  1337.                             // Définit le contenu de la modale selon la locale
  1338.                             switch(data.locale) {
  1339.                                 case "fr":
  1340.                                     modalTitle = "Connexion nécessaire";
  1341.                                     modalContent = "Pour réaliser cette action vous devez être connecté. Si vous n'avez pas encore de compte, vous pouvez en créer un.";
  1342.                                     modalButtonText = "Se connecter";
  1343.                                     break;
  1344.                                 case "en":
  1345.                                     modalTitle = "Connection required";
  1346.                                     modalContent = "You must be logged in to perform this action. If you don't have an account yet, you can create one.";
  1347.                                     modalButtonText = "Sign in";
  1348.                                     break;
  1349.                                 case "de":
  1350.                                     modalTitle = "Verbindung erforderlich";
  1351.                                     modalContent = "Um diese Aktion durchzuführen, müssen Sie angemeldet sein. Wenn Sie noch kein Konto haben, können Sie eines erstellen.";
  1352.                                     modalButtonText = "Sich anmelden";
  1353.                                     break;
  1354.                             }
  1355.                             $("#modalLoginReminderLabel").text(modalTitle);
  1356.                             $("#modalLoginReminder .modal-body").text(modalContent);
  1357.                             $(".modalbutton").text(modalButtonText).attr("onclick", "window.location.href='" + loginUrl + "'");
  1358.                             $("#modalLoginReminder").modal('show');
  1359.                         }
  1360.                     }
  1361.                 });
  1362.             });
  1363.         });
  1364.     </script>
  1365. {% endblock %}