var/cache/dev/twig/f1/f18224bfe482f8fb678240d72071a2b90b66b1376fcd9b0850c68d460fda8c21.php line 362

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\SandboxExtension;
  6. use Twig\Markup;
  7. use Twig\Sandbox\SecurityError;
  8. use Twig\Sandbox\SecurityNotAllowedTagError;
  9. use Twig\Sandbox\SecurityNotAllowedFilterError;
  10. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  11. use Twig\Source;
  12. use Twig\Template;
  13. /* FrontBundle/Page/shop-product.html.twig */
  14. class __TwigTemplate_b54001cca1fa868dc7d71e7d93cace65a36a8271f304afdc3b7f5c28848a82b8 extends Template
  15. {
  16.     private $source;
  17.     private $macros = [];
  18.     public function __construct(Environment $env)
  19.     {
  20.         parent::__construct($env);
  21.         $this->source $this->getSourceContext();
  22.         $this->blocks = [
  23.             'title' => [$this'block_title'],
  24.             'description' => [$this'block_description'],
  25.             'google' => [$this'block_google'],
  26.             'extra_class' => [$this'block_extra_class'],
  27.             'stylesheets' => [$this'block_stylesheets'],
  28.             'body' => [$this'block_body'],
  29.             'javascripts' => [$this'block_javascripts'],
  30.         ];
  31.     }
  32.     protected function doGetParent(array $context)
  33.     {
  34.         // line 1
  35.         return "FrontBundle/layout_shop.html.twig";
  36.     }
  37.     protected function doDisplay(array $context, array $blocks = [])
  38.     {
  39.         $macros $this->macros;
  40.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  41.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""FrontBundle/Page/shop-product.html.twig"));
  42.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  43.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""FrontBundle/Page/shop-product.html.twig"));
  44.         $this->parent $this->loadTemplate("FrontBundle/layout_shop.html.twig""FrontBundle/Page/shop-product.html.twig"1);
  45.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  46.         
  47.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  48.         
  49.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  50.     }
  51.     // line 3
  52.     public function block_title($context, array $blocks = [])
  53.     {
  54.         $macros $this->macros;
  55.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  56.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  57.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  58.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  59.         echo twig_escape_filter($this->env, (isset($context["app_sitename"]) || array_key_exists("app_sitename"$context) ? $context["app_sitename"] : (function () { throw new RuntimeError('Variable "app_sitename" does not exist.'3$this->source); })()), "html"nulltrue);
  60.         echo " - ";
  61.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'3$this->source); })()), "nameLocale", [=> twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'3$this->source); })()), "request", [], "any"falsefalsefalse3), "locale", [], "any"falsefalsefalse3)], "method"falsefalsefalse3), "html"nulltrue);
  62.         
  63.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  64.         
  65.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  66.     }
  67.     // line 4
  68.     public function block_description($context, array $blocks = [])
  69.     {
  70.         $macros $this->macros;
  71.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  72.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""description"));
  73.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  74.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""description"));
  75.         echo twig_replace_filter(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'4$this->source); })()), "descriptionLocale", [=> twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'4$this->source); })()), "request", [], "any"falsefalsefalse4), "locale", [], "any"falsefalsefalse4)], "method"falsefalsefalse4), ["
  76. => " "]);
  77.         
  78.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  79.         
  80.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  81.     }
  82.     // line 5
  83.     public function block_google($context, array $blocks = [])
  84.     {
  85.         $macros $this->macros;
  86.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  87.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""google"));
  88.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  89.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""google"));
  90.         // line 6
  91.         echo "    <!-- Google tag (gtag.js) -->
  92.     <script async src=\"https://www.googletagmanager.com/gtag/js?id=AW-11336737773\">
  93.     </script>
  94.     <script>
  95.         window.dataLayer = window.dataLayer || [];
  96.         function gtag(){dataLayer.push(arguments);}
  97.         gtag('js', new Date());
  98.         gtag('config', 'AW-11336737773');
  99.     </script>
  100. ";
  101.         
  102.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  103.         
  104.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  105.     }
  106.     // line 19
  107.     public function block_extra_class($context, array $blocks = [])
  108.     {
  109.         $macros $this->macros;
  110.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  111.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""extra_class"));
  112.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  113.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""extra_class"));
  114.         echo "stack";
  115.         
  116.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  117.         
  118.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  119.     }
  120.     // line 23
  121.     public function block_stylesheets($context, array $blocks = [])
  122.     {
  123.         $macros $this->macros;
  124.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  125.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheets"));
  126.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  127.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheets"));
  128.         // line 24
  129.         echo "    <link href=\"/front/css/owl.carousel.min.css\" rel=\"stylesheet\">
  130.     <link href=\"/front/css/owl.theme.default.min.css\" rel=\"stylesheet\">
  131.     <link href=\"/front/css/nouislider.css\" rel=\"stylesheet\">
  132.     <style>
  133.         .option-content{
  134.             border-radius: 14px;
  135.             background: #931517;
  136.             display: flex;
  137.             justify-content: center;
  138.             align-items: center;
  139.             width: 119px;
  140.             height: 19px;
  141.             flex-shrink: 0;
  142.             margin: 1.5rem auto 0.5rem auto;
  143.             color: #fff;
  144.             padding: 0.5rem 1rem;
  145.             font-size: 13px;
  146.             font-weight: 600;
  147.         }
  148.         .page_boutique-produit #product .options .col-md-6  li
  149.         {
  150.             background-color: #FFFFFF;
  151.             border-radius: 15px;
  152.             padding: 5px;
  153.             margin: 12px;
  154.             width: calc(25% - -59px);
  155.             float: left;
  156.             position: relative;
  157.             height: 74px;
  158.             border: 1px solid #FFFFFF;
  159.         }
  160.         .page_boutique-produit #product .options ul{
  161.             padding: 0;
  162.         }
  163.         .page_boutique-produit #product .options .title span.sub {
  164.             width: 100%;
  165.             display: inline-block;
  166.             font-size: 11px;
  167.         }
  168.         .page_boutique-produit #product .options .price{
  169.             margin: 3px 0 0 0 ;
  170.         }
  171.         .bon-cadeau-17 .bon-cadeau-option-block1,
  172.         .bon-cadeau-18 .bon-cadeau-option-block1,
  173.         .bon-cadeau-19 .bon-cadeau-option-block1,
  174.         .bon-cadeau-20 .bon-cadeau-option-block1,
  175.         .bon-cadeau-6 .bon-cadeau-option-block1,
  176.         .bon-cadeau-7 .bon-cadeau-option-block1,
  177.         .bon-cadeau-8 .bon-cadeau-option-block1,
  178.         .bon-cadeau-9 .bon-cadeau-option-block1 {
  179.             display: none;
  180.         }
  181.         .btn-primary.active,
  182.         .btn-primary:hover {
  183.             color: #ffffff;
  184.             text-decoration: none;
  185.             border: 1px solid var(--red);
  186.             background-color: var(--red);
  187.         }
  188.     </style>
  189. ";
  190.         
  191.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  192.         
  193.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  194.     }
  195.     // line 94
  196.     public function block_body($context, array $blocks = [])
  197.     {
  198.         $macros $this->macros;
  199.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  200.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""body"));
  201.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  202.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""body"));
  203.         // line 95
  204.         echo "
  205.     <section id=\"product\" class=\"espace-content full mb-5 pb-5\" style=\"margin-top: 60px;\" data-id=\"";
  206.         // line 97
  207.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'97$this->source); })()), "id", [], "any"falsefalsefalse97), "html"nulltrue);
  208.         echo "\">
  209.         <div class=\"content pt-5 pb-5 mt-5\" style=\"padding: 0 150px\">
  210.             <div class=\"row\">
  211.                 <a href=\"";
  212.         // line 100
  213.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("framework_front_shop_cat", ["category_slug" => twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'100$this->source); })()), "category", [], "any"falsefalsefalse100), "slug", [], "any"falsefalsefalse100), "locale" => twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'100$this->source); })()), "request", [], "any"falsefalsefalse100), "locale", [], "any"falsefalsefalse100)]), "html"nulltrue);
  214.         echo "\" class=\"link-back mb-4\"><img src=\"/front/img/button-arrow-r-l.svg\" alt=\"back\" width=\"25px\" class=\"me-2\" />";
  215.         echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_product_back", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'100$this->source); })()));
  216.         echo " ";
  217.         echo twig_escape_filter($this->envtwig_lower_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'100$this->source); })()), "category", [], "any"falsefalsefalse100), "nameLocale", [=> twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'100$this->source); })()), "request", [], "any"falsefalsefalse100), "locale", [], "any"falsefalsefalse100)], "method"falsefalsefalse100)), "html"nulltrue);
  218.         echo "</a>
  219.                 <div class=\"col-md-12\">
  220.                     <ul class=\"breadcrumb\">
  221.                         <li><a href=\"/";
  222.         // line 103
  223.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'103$this->source); })()), "request", [], "any"falsefalsefalse103), "locale", [], "any"falsefalsefalse103), "html"nulltrue);
  224.         echo "/";
  225.         echo twig_escape_filter($this->env$this->extensions['App\Framework\Twig\AppExtension']->getUrl("boutique"twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'103$this->source); })()), "request", [], "any"falsefalsefalse103), "locale", [], "any"falsefalsefalse103)), "html"nulltrue);
  226.         echo "\">";
  227.         echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_title", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'103$this->source); })()));
  228.         echo "</a></li>
  229.                         <li><a href=\"/";
  230.         // line 104
  231.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'104$this->source); })()), "request", [], "any"falsefalsefalse104), "locale", [], "any"falsefalsefalse104), "html"nulltrue);
  232.         echo "/";
  233.         echo twig_escape_filter($this->env$this->extensions['App\Framework\Twig\AppExtension']->getUrl("boutique"twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'104$this->source); })()), "request", [], "any"falsefalsefalse104), "locale", [], "any"falsefalsefalse104)), "html"nulltrue);
  234.         echo "/articles/";
  235.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'104$this->source); })()), "category", [], "any"falsefalsefalse104), "slug", [], "any"falsefalsefalse104), "html"nulltrue);
  236.         echo "\">";
  237.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'104$this->source); })()), "category", [], "any"falsefalsefalse104), "nameLocale", [=> twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'104$this->source); })()), "request", [], "any"falsefalsefalse104), "locale", [], "any"falsefalsefalse104)], "method"falsefalsefalse104), "html"nulltrue);
  238.         echo "</a></li>
  239.                         <li><span>";
  240.         // line 105
  241.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'105$this->source); })()), "nameLocale", [=> twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'105$this->source); })()), "request", [], "any"falsefalsefalse105), "locale", [], "any"falsefalsefalse105)], "method"falsefalsefalse105), "html"nulltrue);
  242.         echo "</span></li>
  243.                     </ul>
  244.                     <a href=\"#\" class=\"favoris trigger-modal ";
  245.         // line 107
  246.         echo (($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("IS_AUTHENTICATED_REMEMBERED")) ? ("bookmark") : ("not-logged-in"));
  247.         echo " ";
  248.         echo (((isset($context["saved"]) || array_key_exists("saved"$context) ? $context["saved"] : (function () { throw new RuntimeError('Variable "saved" does not exist.'107$this->source); })())) ? ("saved") : (""));
  249.         echo "\" data-id=\"";
  250.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'107$this->source); })()), "id", [], "any"falsefalsefalse107), "html"nulltrue);
  251.         echo "\"><i></i></a>
  252.                 </div>
  253.                 <div class=\"col-md-5\">
  254.                     <div class=\"owl-carousel product mt-5\">
  255.                         ";
  256.         // line 112
  257.         $context['_parent'] = $context;
  258.         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'112$this->source); })()), "allImages", [], "any"falsefalsefalse112));
  259.         foreach ($context['_seq'] as $context["_key"] => $context["image"]) {
  260.             // line 113
  261.             echo "                            <div class=\"item\"><img src=\"/uploads/products/";
  262.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'113$this->source); })()), "id", [], "any"falsefalsefalse113), "html"nulltrue);
  263.             echo "/";
  264.             echo twig_escape_filter($this->env$context["image"], "html"nulltrue);
  265.             echo "\" alt=\"product\" /></div>
  266.                         ";
  267.         }
  268.         $_parent $context['_parent'];
  269.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['image'], $context['_parent'], $context['loop']);
  270.         $context array_intersect_key($context$_parent) + $_parent;
  271.         // line 115
  272.         echo "                    </div>
  273.                     <div class=\"row \">
  274.                         <div class=\"col-9 mx-auto\">
  275.                             ";
  276.         // line 118
  277.         if (twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'118$this->source); })()), "published", [], "any"falsefalsefalse118)) {
  278.             // line 119
  279.             echo "                                <a href=\"#\" class=\"btn-sm btn-primary active add-cart mb-3\" data-type=\"bons\" data-id=\"";
  280.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'119$this->source); })()), "id", [], "any"falsefalsefalse119), "html"nulltrue);
  281.             echo "\"><img src=\"/front/img/cart.svg\" alt=\"cart\" class=\"me-2\" /> ";
  282.             echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_product_cart_add", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'119$this->source); })()));
  283.             echo "</a>
  284.                                 <a href=\"/";
  285.             // line 120
  286.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'120$this->source); })()), "request", [], "any"falsefalsefalse120), "locale", [], "any"falsefalsefalse120), "html"nulltrue);
  287.             echo "/boutique/panier\" class=\"btn-sm btn-primary text w-100 text-center\">";
  288.             echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_product_cart_view", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'120$this->source); })()));
  289.             echo "</a>
  290.                             ";
  291.         } else {
  292.             // line 122
  293.             echo "                                <h6 class=\"text-center\">";
  294.             echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_nostock", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'122$this->source); })()));
  295.             echo "</h6>
  296.                             ";
  297.         }
  298.         // line 124
  299.         echo "                        </div>
  300.                     </div>
  301.                 </div>
  302.                 <div class=\"col-md-7 description mt-5 pt-0\">
  303.                     <div class=\"row\">
  304.                         <div class=\"col-12\"><h1 class=\"title\" style=\"letter-spacing: initial;\">";
  305.         // line 129
  306.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'129$this->source); })()), "nameLocale", [=> twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'129$this->source); })()), "request", [], "any"falsefalsefalse129), "locale", [], "any"falsefalsefalse129)], "method"falsefalsefalse129), "html"nulltrue);
  307.         echo "</h1></div>
  308.                         <div class=\"col-12 to-cart mt-3 mb-3\">
  309.                             <p class=\"price mt-2 me-4\" data-price=\"";
  310.         // line 131
  311.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'131$this->source); })()), "price", [], "any"falsefalsefalse131), "html"nulltrue);
  312.         echo "\"><i>";
  313.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'131$this->source); })()), "priceFr", [], "any"falsefalsefalse131), "html"nulltrue);
  314.         echo "</i> €</p>
  315.                             <p class=\"qty me-4\"><i class=\"qty-bons-before\">";
  316.         // line 132
  317.         echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_product_for", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'132$this->source); })()));
  318.         echo "</i><a href=\"#\" data-action=\"minus\">-</a><span>1</span><a href=\"#\" data-action=\"plus\">+</a><i class=\"qty-bons-after\">";
  319.         echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_product_for1", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'132$this->source); })()));
  320.         echo "</i></p>
  321.                             <p class=\"per-person p-0\">";
  322.         // line 133
  323.         if ((=== twig_compare(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'133$this->source); })()), "category", [], "any"falsefalsefalse133), "slug", [], "any"falsefalsefalse133), "bon-cadeau"))) {
  324.             echo "<span>";
  325.             echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_product_price", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'133$this->source); })()));
  326.             echo "</span>";
  327.         }
  328.         echo "</p>
  329.                         </div>
  330.                     </div>
  331.                     <div class=\"row\">
  332.                         <div class=\"col-12\">
  333.                             <div class=\"desc mb-3\">
  334.                                 ";
  335.         // line 141
  336.         echo "                                <p>";
  337.         echo twig_replace_filter(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'141$this->source); })()), "descriptionLocale", [=> twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'141$this->source); })()), "request", [], "any"falsefalsefalse141), "locale", [], "any"falsefalsefalse141)], "method"falsefalsefalse141), ["
  338. => "<br>"]);
  339.         echo "</p>
  340.                             </div>
  341.                             <div class=\"additional mb-3\">
  342.                                 ";
  343.         // line 144
  344.         echo twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'144$this->source); })()), "additionalLocale", [=> twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'144$this->source); })()), "request", [], "any"falsefalsefalse144), "locale", [], "any"falsefalsefalse144)], "method"falsefalsefalse144);
  345.         echo "
  346.                             </div>
  347.                             <div class=\"usecase\">
  348.                                 <p class=\"mb-2\">";
  349.         // line 147
  350.         echo (((=== twig_compare(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'147$this->source); })()), "slug", [], "any"falsefalsefalse147), "bon-cadeau-9"))) ? ("") : ($this->extensions['App\Framework\Twig\AppExtension']->tr("shop_product_use", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'147$this->source); })()))));
  351.         echo " ";
  352.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'147$this->source); })()), "usecaseLocale", [=> twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'147$this->source); })()), "request", [], "any"falsefalsefalse147), "locale", [], "any"falsefalsefalse147)], "method"falsefalsefalse147), "html"nulltrue);
  353.         echo "</p>
  354.                                 <p class=\"mb-5 text-xs\">";
  355.         // line 148
  356.         echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_product_use2", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'148$this->source); })()));
  357.         echo "</p>
  358.                             </div>
  359.                             ";
  360.         // line 154
  361.         echo "
  362.                             <div id=\"bloc2\" class=\"row mb-5\"></div>
  363.                             ";
  364.         // line 157
  365.         if ((=== twig_compare(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'157$this->source); })()), "category", [], "any"falsefalsefalse157), "slug", [], "any"falsefalsefalse157), "bon-cadeau"))) {
  366.             // line 158
  367.             echo "                                <div class=\"options ";
  368.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'158$this->source); })()), "slug", [], "any"falsefalsefalse158), "html"nulltrue);
  369.             echo "\">
  370.                                     <label>";
  371.             // line 160
  372.             echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_product_options_title", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'160$this->source); })()));
  373.             echo "</label>
  374.                                     <div class=\"row\">
  375.                                         <div class=\"col-md-6 bon-cadeau-option-block1\">
  376.                               <span class=\"option-content\">
  377.                                 Restaurant
  378.                             </span>
  379.                                             <ul class=\"mt-3\">
  380.                                                 ";
  381.             // line 167
  382.             $context['_parent'] = $context;
  383.             $context['_seq'] = twig_ensure_traversable((isset($context["options"]) || array_key_exists("options"$context) ? $context["options"] : (function () { throw new RuntimeError('Variable "options" does not exist.'167$this->source); })()));
  384.             foreach ($context['_seq'] as $context["_key"] => $context["option"]) {
  385.                 // line 168
  386.                 echo "                                                    ";
  387.                 if ((=== twig_compare(twig_get_attribute($this->env$this->source$context["option"], "restaurant", [], "any"falsefalsefalse168), true))) {
  388.                     // line 169
  389.                     echo "                                                        <li class=\"option-";
  390.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "id", [], "any"falsefalsefalse169), "html"nulltrue);
  391.                     echo "\" style=\"height: 85px\">
  392.                                                             ";
  393.                     // line 170
  394.                     if ((!== twig_compare(twig_get_attribute($this->env$this->source$context["option"], "desc", [], "any"falsefalsefalse170), ""))) {
  395.                         echo "<span class=\"infos\" data-desc=\"";
  396.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "desc", [], "any"falsefalsefalse170), "html"nulltrue);
  397.                         echo "\" title=\"";
  398.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "desc", [], "any"falsefalsefalse170), "html"nulltrue);
  399.                         echo "\">i</span>";
  400.                     }
  401.                     // line 171
  402.                     echo "                                                            <p class=\"title\">";
  403.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "name", [], "any"falsefalsefalse171), "html"nulltrue);
  404.                     echo "<br>";
  405.                     if ((!== twig_compare(twig_get_attribute($this->env$this->source$context["option"], "sub", [], "any"falsefalsefalse171), ""))) {
  406.                         echo " <span class=\"sub\">";
  407.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "sub", [], "any"falsefalsefalse171), "html"nulltrue);
  408.                         echo "</span> ";
  409.                     }
  410.                     echo "</p>
  411.                                                             <p class=\"price\" ";
  412.                     // line 172
  413.                     if (( !twig_get_attribute($this->env$this->source$context["option"], "lounge", [], "any"falsefalsefalse172) && (-=== twig_compare(twig_get_attribute($this->env$this->source$context["option"], "id", [], "any"falsefalsefalse172), 3)))) {
  414.                         echo "style=\"margin: 5px 0 5px 0 !important;\"";
  415.                     }
  416.                     echo " ";
  417.                     if ((=== twig_compare(twig_get_attribute($this->env$this->source$context["option"], "price", [], "any"falsefalsefalse172), 64))) {
  418.                         echo " style=\"margin: 13px 0 5px 0 !important;\"";
  419.                     }
  420.                     echo ">(+ ";
  421.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "price", [], "any"falsefalsefalse172), "html"nulltrue);
  422.                     echo " €)</p>
  423.                                                             <p class=\"qty\" data-price=\"";
  424.                     // line 173
  425.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "price", [], "any"falsefalsefalse173), "html"nulltrue);
  426.                     echo "\" data-id=\"";
  427.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "id", [], "any"falsefalsefalse173), "html"nulltrue);
  428.                     echo "\"><a href=\"#\" data-action=\"minus\">-</a><span>0</span><a href=\"#\" data-action=\"plus\">+</a></p>
  429.                                                         </li>
  430.                                                     ";
  431.                 }
  432.                 // line 176
  433.                 echo "                                                ";
  434.             }
  435.             $_parent $context['_parent'];
  436.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['option'], $context['_parent'], $context['loop']);
  437.             $context array_intersect_key($context$_parent) + $_parent;
  438.             // line 177
  439.             echo "                                            </ul>
  440.                                         </div>
  441.                                         <div class=\"col-md-6 bon-cadeau-option-block3\">
  442.                             <span class=\"option-content\">
  443.                               ";
  444.             // line 181
  445.             echo $this->extensions['App\Framework\Twig\AppExtension']->tr("cadeau_title", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'181$this->source); })()));
  446.             echo "
  447.                             </span>
  448.                                             <ul class=\"mt-3\">
  449.                                                 ";
  450.             // line 184
  451.             $context['_parent'] = $context;
  452.             $context['_seq'] = twig_ensure_traversable((isset($context["options"]) || array_key_exists("options"$context) ? $context["options"] : (function () { throw new RuntimeError('Variable "options" does not exist.'184$this->source); })()));
  453.             foreach ($context['_seq'] as $context["_key"] => $context["option"]) {
  454.                 // line 185
  455.                 echo "                                                    ";
  456.                 if ((=== twig_compare(twig_get_attribute($this->env$this->source$context["option"], "boutique", [], "any"falsefalsefalse185), true))) {
  457.                     // line 186
  458.                     echo "                                                        <li class=\"option-";
  459.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "id", [], "any"falsefalsefalse186), "html"nulltrue);
  460.                     echo "\">
  461.                                                             ";
  462.                     // line 187
  463.                     if ((!== twig_compare(twig_get_attribute($this->env$this->source$context["option"], "desc", [], "any"falsefalsefalse187), ""))) {
  464.                         echo "<span class=\"infos\" data-desc=\"";
  465.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "desc", [], "any"falsefalsefalse187), "html"nulltrue);
  466.                         echo "\" title=\"";
  467.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "desc", [], "any"falsefalsefalse187), "html"nulltrue);
  468.                         echo "\">i</span>";
  469.                     }
  470.                     // line 188
  471.                     echo "                                                            <p class=\"title\">";
  472.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "name", [], "any"falsefalsefalse188), "html"nulltrue);
  473.                     echo "<br>";
  474.                     if (twig_get_attribute($this->env$this->source$context["option"], "lounge", [], "any"falsefalsefalse188)) {
  475.                         echo "<span>Lounge Club</span>";
  476.                     }
  477.                     echo "</p>
  478.                                                             <p class=\"price\" ";
  479.                     // line 189
  480.                     if (( !twig_get_attribute($this->env$this->source$context["option"], "lounge", [], "any"falsefalsefalse189) && (-=== twig_compare(twig_get_attribute($this->env$this->source$context["option"], "id", [], "any"falsefalsefalse189), 3)))) {
  481.                         echo "style=\"margin-top: 10px;\"";
  482.                     }
  483.                     echo ">(+ ";
  484.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "price", [], "any"falsefalsefalse189), "html"nulltrue);
  485.                     echo " €)</p>
  486.                                                             <p class=\"qty\" data-price=\"";
  487.                     // line 190
  488.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "price", [], "any"falsefalsefalse190), "html"nulltrue);
  489.                     echo "\" data-id=\"";
  490.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "id", [], "any"falsefalsefalse190), "html"nulltrue);
  491.                     echo "\"><a href=\"#\" data-action=\"minus\">-</a><span>0</span><a href=\"#\" data-action=\"plus\">+</a></p>
  492.                                                         </li>
  493.                                                     ";
  494.                 }
  495.                 // line 193
  496.                 echo "                                                ";
  497.             }
  498.             $_parent $context['_parent'];
  499.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['option'], $context['_parent'], $context['loop']);
  500.             $context array_intersect_key($context$_parent) + $_parent;
  501.             // line 194
  502.             echo "                                            </ul>
  503.                                         </div>
  504.                                     </div>
  505.                                     <div class=\"row\">
  506.                                         <div class=\"col-md-6 bon-cadeau-option-block2\">
  507.                             <span class=\"option-content\">
  508.                                 Lounge Club
  509.                             </span>
  510.                                             <ul class=\"mt-3\">
  511.                                                 ";
  512.             // line 203
  513.             $context['_parent'] = $context;
  514.             $context['_seq'] = twig_ensure_traversable((isset($context["options"]) || array_key_exists("options"$context) ? $context["options"] : (function () { throw new RuntimeError('Variable "options" does not exist.'203$this->source); })()));
  515.             foreach ($context['_seq'] as $context["_key"] => $context["option"]) {
  516.                 // line 204
  517.                 echo "                                                    ";
  518.                 if ((=== twig_compare(twig_get_attribute($this->env$this->source$context["option"], "lounge", [], "any"falsefalsefalse204), true))) {
  519.                     // line 205
  520.                     echo "                                                        <li class=\"option-";
  521.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "id", [], "any"falsefalsefalse205), "html"nulltrue);
  522.                     echo "\">
  523.                                                             ";
  524.                     // line 206
  525.                     if ((!== twig_compare(twig_get_attribute($this->env$this->source$context["option"], "desc", [], "any"falsefalsefalse206), ""))) {
  526.                         echo "<span class=\"infos\" data-desc=\"";
  527.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "desc", [], "any"falsefalsefalse206), "html"nulltrue);
  528.                         echo "\" title=\"";
  529.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "desc", [], "any"falsefalsefalse206), "html"nulltrue);
  530.                         echo "\">i</span>";
  531.                     }
  532.                     // line 207
  533.                     echo "                                                            <p class=\"title\">";
  534.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "name", [], "any"falsefalsefalse207), "html"nulltrue);
  535.                     echo "<br>";
  536.                     if (twig_get_attribute($this->env$this->source$context["option"], "lounge", [], "any"falsefalsefalse207)) {
  537.                         echo "<span>Lounge Club</span>";
  538.                     }
  539.                     echo "</p>
  540.                                                             <p class=\"price\" ";
  541.                     // line 208
  542.                     if (( !twig_get_attribute($this->env$this->source$context["option"], "lounge", [], "any"falsefalsefalse208) && (-=== twig_compare(twig_get_attribute($this->env$this->source$context["option"], "id", [], "any"falsefalsefalse208), 3)))) {
  543.                         echo "style=\"margin-top: 10px;\"";
  544.                     }
  545.                     echo ">(+ ";
  546.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "price", [], "any"falsefalsefalse208), "html"nulltrue);
  547.                     echo " €)</p>
  548.                                                             <p class=\"qty\" data-price=\"";
  549.                     // line 209
  550.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "price", [], "any"falsefalsefalse209), "html"nulltrue);
  551.                     echo "\" data-id=\"";
  552.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "id", [], "any"falsefalsefalse209), "html"nulltrue);
  553.                     echo "\"><a href=\"#\" data-action=\"minus\">-</a><span>0</span><a href=\"#\" data-action=\"plus\">+</a></p>
  554.                                                         </li>
  555.                                                     ";
  556.                 }
  557.                 // line 212
  558.                 echo "                                                ";
  559.             }
  560.             $_parent $context['_parent'];
  561.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['option'], $context['_parent'], $context['loop']);
  562.             $context array_intersect_key($context$_parent) + $_parent;
  563.             // line 213
  564.             echo "                                            </ul>
  565.                                         </div>
  566.                                     </div>
  567.                                 </div>
  568.                             ";
  569.         }
  570.         // line 219
  571.         echo "
  572.                         </div>
  573.                     </div>
  574.                     <div class=\"floating-cart\"><img src=\"/front/img/cart.svg\" alt=\"cart\" /></div>
  575.                 </div>
  576.             </div>
  577.         </div>
  578.     </section>
  579.     <section id=\"similar\" class=\"espace-content full mb-5 pb-5\" style=\"margin-top: 40px;\">
  580.         <div class=\"content\">
  581.             <h2 class=\"pt-5 mb-3 no-bar\">";
  582.         // line 231
  583.         echo twig_upper_filter($this->env$this->extensions['App\Framework\Twig\AppExtension']->tr("shop_product_similar_title", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'231$this->source); })())));
  584.         echo "<span class=\"full-bar\"></span></h2>
  585.         </div>
  586.     </section>
  587.     <section class=\"items-slider espace-content p-0 mt-5 mb-5\">
  588.         <div class=\"content pt-5 pb-5 mt-5\">
  589.             <div class=\"owl-carousel related p-0\">
  590.                 ";
  591.         // line 241
  592.         $context['_parent'] = $context;
  593.         $context['_seq'] = twig_ensure_traversable((isset($context["similar"]) || array_key_exists("similar"$context) ? $context["similar"] : (function () { throw new RuntimeError('Variable "similar" does not exist.'241$this->source); })()));
  594.         foreach ($context['_seq'] as $context["_key"] => $context["item"]) {
  595.             // line 242
  596.             echo "                    ";
  597.             if (((=== twig_compare(twig_get_attribute($this->env$this->source$context["item"], "id", [], "any"falsefalsefalse242), 19)) && twig_get_attribute($this->env$this->source$context["item"], "published", [], "any"falsefalsefalse242))) {
  598.                 // line 243
  599.                 echo "                        <div class=\"item row\">
  600.                             <div class=\"col-12 \">
  601.                                 <a href=\"/";
  602.                 // line 245
  603.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'245$this->source); })()), "request", [], "any"falsefalsefalse245), "locale", [], "any"falsefalsefalse245), "html"nulltrue);
  604.                 echo "/";
  605.                 echo twig_escape_filter($this->env$this->extensions['App\Framework\Twig\AppExtension']->getUrl("boutique"twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'245$this->source); })()), "request", [], "any"falsefalsefalse245), "locale", [], "any"falsefalsefalse245)), "html"nulltrue);
  606.                 echo "/produit/";
  607.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["item"], "slug", [], "any"falsefalsefalse245), "html"nulltrue);
  608.                 echo "\">
  609.                                     <img alt=\"slug\" class=\"cover\" src=\"/uploads/products/";
  610.                 // line 246
  611.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["item"], "id", [], "any"falsefalsefalse246), "html"nulltrue);
  612.                 echo "/";
  613.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["item"], "mainImage", [], "any"falsefalsefalse246), "html"nulltrue);
  614.                 echo "\" />
  615.                                 </a>
  616.                                 <a href=\"/";
  617.                 // line 248
  618.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'248$this->source); })()), "request", [], "any"falsefalsefalse248), "locale", [], "any"falsefalsefalse248), "html"nulltrue);
  619.                 echo "/";
  620.                 echo twig_escape_filter($this->env$this->extensions['App\Framework\Twig\AppExtension']->getUrl("boutique"twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'248$this->source); })()), "request", [], "any"falsefalsefalse248), "locale", [], "any"falsefalsefalse248)), "html"nulltrue);
  621.                 echo "/produit/";
  622.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["item"], "slug", [], "any"falsefalsefalse248), "html"nulltrue);
  623.                 echo "\">
  624.                                     <span class=\"name\">";
  625.                 // line 249
  626.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["item"], "nameLocale", [=> twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'249$this->source); })()), "request", [], "any"falsefalsefalse249), "locale", [], "any"falsefalsefalse249)], "method"falsefalsefalse249), "html"nulltrue);
  627.                 echo "</span>
  628.                                     <span class=\"price\">";
  629.                 // line 250
  630.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["item"], "priceFr", [], "any"falsefalsefalse250), "html"nulltrue);
  631.                 echo " €</span>
  632.                                 </a>
  633.                                 <a href=\"/";
  634.                 // line 252
  635.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'252$this->source); })()), "request", [], "any"falsefalsefalse252), "locale", [], "any"falsefalsefalse252), "html"nulltrue);
  636.                 echo "/";
  637.                 echo twig_escape_filter($this->env$this->extensions['App\Framework\Twig\AppExtension']->getUrl("boutique"twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'252$this->source); })()), "request", [], "any"falsefalsefalse252), "locale", [], "any"falsefalsefalse252)), "html"nulltrue);
  638.                 echo "/produit/";
  639.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["item"], "slug", [], "any"falsefalsefalse252), "html"nulltrue);
  640.                 echo "\">
  641.                                     <span class=\"category\">";
  642.                 // line 253
  643.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["item"], "category", [], "any"falsefalsefalse253), "nameLocale", [=> twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'253$this->source); })()), "request", [], "any"falsefalsefalse253), "locale", [], "any"falsefalsefalse253)], "method"falsefalsefalse253), "html"nulltrue);
  644.                 echo "</span>
  645.                                 </a>
  646.                             </div>
  647.                         </div>
  648.                     ";
  649.             }
  650.             // line 258
  651.             echo "                ";
  652.         }
  653.         $_parent $context['_parent'];
  654.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['item'], $context['_parent'], $context['loop']);
  655.         $context array_intersect_key($context$_parent) + $_parent;
  656.         // line 259
  657.         echo "
  658.             </div>
  659.             <div class=\"horizontal-bar-container\">
  660.                 <div class=\"horizontal-bar\"></div>
  661.                 <div class=\"horizontal-bar-ctrl\"></div>
  662.             </div>
  663.         </div>
  664.     </section>
  665.     <section class=\"actu-content newsletter\" style=\"margin-bottom: 180px;\">
  666.         <div class=\"content mt-5 pt-5\">
  667.             <h2 class=\"mb-5 no-bar\">";
  668.         // line 277
  669.         echo twig_upper_filter($this->env$this->extensions['App\Framework\Twig\AppExtension']->tr("newsletter_title", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'277$this->source); })())));
  670.         echo "<span class=\"full-bar\"></span></h2>
  671.             <div class=\"pt-5\">
  672.                 <form>
  673.                     <p class=\"title\">";
  674.         // line 280
  675.         echo $this->extensions['App\Framework\Twig\AppExtension']->tr("newsletter_subtitle", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'280$this->source); })()));
  676.         echo "</p>
  677.                     <p class=\"desc\">";
  678.         // line 281
  679.         echo $this->extensions['App\Framework\Twig\AppExtension']->tr("newsletter_desc", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'281$this->source); })()));
  680.         echo "</p>
  681.                     <div class=\"email-input\">
  682.                         <input type=\"text\" value=\"\" placeholder=\"";
  683.         // line 283
  684.         echo $this->extensions['App\Framework\Twig\AppExtension']->tr("newsletter_email", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'283$this->source); })()));
  685.         echo "\" class=\"email mt-3\" />
  686.                         <a href=\"#\" class=\"register\">&nbsp;</a>
  687.                     </div>
  688.                     <div class=\"row\">
  689.                         <div class=\"col-12 mt-4\">
  690.                             <input type=\"checkbox\" id=\"confirm\" class=\"apple-switch\" checked=\"checked\" />
  691.                             <label for=\"confirm\">";
  692.         // line 289
  693.         echo $this->extensions['App\Framework\Twig\AppExtension']->tr("newsletter_agree", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'289$this->source); })()));
  694.         echo "</label>
  695.                             <p class=\"text-center mt-4\" id=\"message_newsletter\"></p>
  696.                         </div>
  697.                     </div>
  698.                 </form>
  699.             </div>
  700.         </div>
  701.     </section>
  702.     ";
  703.         // line 300
  704.         $this->loadTemplate("FrontBundle/Partial/modal.html.twig""FrontBundle/Page/shop-product.html.twig"300)->display($context);
  705.         // line 301
  706.         echo "    ";
  707.         $this->loadTemplate("FrontBundle/Partial/footer.html.twig""FrontBundle/Page/shop-product.html.twig"301)->display($context);
  708.         // line 302
  709.         echo "
  710. ";
  711.         
  712.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  713.         
  714.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  715.     }
  716.     // line 305
  717.     public function block_javascripts($context, array $blocks = [])
  718.     {
  719.         $macros $this->macros;
  720.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  721.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascripts"));
  722.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  723.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascripts"));
  724.         // line 306
  725.         echo "
  726.     <script src=\"/front/js/owl.carousel.min.js\"></script>
  727.     <script type=\"text/javascript\">
  728.         function updatePrice(){
  729.             console.log('updateprice')
  730.             var product_price = parseFloat(\$('#product .price').data('price'));
  731.             var qty = parseInt(\$('.to-cart span').text());
  732.             var options_prices = 0;
  733.             var option_qty_save = 0;
  734.             var price = 0;
  735.             \$('#product .options li .qty').each(function(index, value) {
  736.                 var option_price = parseFloat(\$(this).data('price'));
  737.                 var option_qty = parseInt(\$(this).find('span').text());
  738.                 if(option_qty > 0){
  739.                     options_prices = options_prices + (option_price * option_qty);
  740.                     option_qty_save = option_qty
  741.                 }
  742.             }).promise().done( function(){
  743.                 // price = (product_price + options_prices) * qty;
  744.                 price = (product_price * qty) + options_prices; //NOUVEAU CALCUL
  745.                 \$('#product .price i').text(price.toFixed(2).replace( '.', ',' ));
  746.                 if(option_qty_save == 0 && qty == 1){
  747.                     \$('.per-person').fadeIn();
  748.                 } else {
  749.                     \$('.per-person').fadeOut();
  750.                 }
  751.             });
  752.         }
  753.         \$( document ).ready(function() {
  754.             if( window.innerWidth <= 1024 ){
  755.                 \$('#product .col-md-5').addClass('col-md-4');
  756.                 \$('#product .col-md-5').removeClass('col-md-5');
  757.                 \$('#product .col-md-7').addClass('col-md-8');
  758.                 \$('#product .col-md-7').removeClass('col-md-7');
  759.                 \$('#bloc2').append(\$('.to-cart'));
  760.             }
  761.             // HIDE FORFAITS DUO
  762.             var product_slug = '";
  763.         // line 356
  764.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'356$this->source); })()), "slug", [], "any"falsefalsefalse356), "html"nulltrue);
  765.         echo "';
  766.             var slugs = ['bon-cadeau-6', 'bon-cadeau-7', 'bon-cadeau-8', 'bon-cadeau-9'];
  767.             if(jQuery.inArray(product_slug, slugs) != -1) {
  768.                 \$('.options .option-1').hide();
  769.                 \$('.options .option-2').hide();
  770.             }
  771.             // END HIDE FORFAITS DUO
  772.             \$('.additional li').each(function(index, value) {
  773.                 if(\$(this).data('info')){
  774.                     var add_desc = '';
  775.                     if( \$(this).data('info') == 'sp-ga' ){
  776.                         /*add_desc = \"";
  777.         // line 372
  778.         echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_bons_desc1", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'372$this->source); })()));
  779.         echo "\".replace(/'/g, \"\\\\'\");*/
  780.                         add_desc = \"";
  781.         // line 373
  782.         echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_bons_desc1", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'373$this->source); })()));
  783.         echo "\";
  784.                     } else if( \$(this).data('info') == 'mj-m1' ){
  785.                         /*add_desc = \"";
  786.         // line 375
  787.         echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_bons_desc2", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'375$this->source); })()));
  788.         echo "\".replace(/'/g, \"\\\\'\");*/
  789.                         add_desc = \"";
  790.         // line 376
  791.         echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_bons_desc2", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'376$this->source); })()));
  792.         echo "\";
  793.                     } else if( \$(this).data('info') == 'mj-m2' ){
  794.                         /*add_desc = \"";
  795.         // line 378
  796.         echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_bons_desc3", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'378$this->source); })()));
  797.         echo "\".replace(/'/g, \"\\\\'\");*/
  798.                         add_desc = \"";
  799.         // line 379
  800.         echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_bons_desc3", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'379$this->source); })()));
  801.         echo "\";
  802.                     } else if( \$(this).data('info') == 've-m1' ){
  803.                         /*add_desc = \"";
  804.         // line 381
  805.         echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_bons_desc4", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'381$this->source); })()));
  806.         echo "\".replace(/'/g, \"\\\\'\");*/
  807.                         add_desc = \"";
  808.         // line 382
  809.         echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_bons_desc4", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'382$this->source); })()));
  810.         echo "\";
  811.                     } else if( \$(this).data('info') == 've-m2' ){
  812.                         /*add_desc = \"";
  813.         // line 384
  814.         echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_bons_desc5", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'384$this->source); })()));
  815.         echo "\".replace(/'/g, \"\\\\'\");*/
  816.                         add_desc = \"";
  817.         // line 385
  818.         echo $this->extensions['App\Framework\Twig\AppExtension']->tr("shop_bons_desc5", (isset($context["tr"]) || array_key_exists("tr"$context) ? $context["tr"] : (function () { throw new RuntimeError('Variable "tr" does not exist.'385$this->source); })()));
  819.         echo "\";
  820.                     }
  821.                     \$(this).append('<span class=\"infos\" data-desc=\"'+add_desc+'\">i</span>')
  822.                 }
  823.             });
  824.             \$('.infos').each(function(index, value) {
  825.                 \$(this).tooltipster({
  826.                     content: \$(this).data('desc'),
  827.                     delay: 200,
  828.                     contentAsHTML: true,
  829.                     trigger: 'click'
  830.                 });
  831.             });
  832.             \$('#product .bookmark').click(function(e){
  833.                 e.preventDefault();
  834.                 if( \$(this).hasClass('saved') ){
  835.                     var action = 'unsave';
  836.                 } else {
  837.                     var action = 'save';
  838.                 }
  839.                 \$.ajax({
  840.                     type: \"POST\",
  841.                     url: \"/shop/product/\"+action+\"/";
  842.         // line 416
  843.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'416$this->source); })()), "id", [], "any"falsefalsefalse416), "html"nulltrue);
  844.         echo "\",
  845.                     data: null,
  846.                     dataType: \"json\",
  847.                     success: function(response) {
  848.                         if( action == 'save' ){
  849.                             \$('#product .bookmark').addClass('saved');
  850.                             \$('#product .bookmark span').text('Produit sauvegardé');
  851.                         } else {
  852.                             \$('#product .bookmark').removeClass('saved');
  853.                             \$('#product .bookmark span').text('Ajouter aux favoris');
  854.                         }
  855.                     }
  856.                 });
  857.             });
  858.             \$('.options .qty a').click(function(e){
  859.                 e.preventDefault();
  860.                 var element = \$(this).parents('.qty');
  861.                 var count = parseInt(element.find('span').text());
  862.                 if( \$(this).data('action') == 'plus' ){
  863. // BLOCK FORFAITS DUO EN FONCTION DU NOMBRE DE PARTICIPANTS
  864.                     console.log('check forfait duo');
  865.                     var qtyPres = parseInt(\$('.to-cart span').text());
  866.                     var maxDuo = parseInt((qtyPres / 2)+(qtyPres % 2));
  867.                     var currentDuo = parseInt(\$('.qty[data-id=\"1\"] span').text()) + parseInt(\$('.qty[data-id=\"2\"] span').text()) + 1;
  868.                     var refFix = parseInt(element.data('id'));
  869. // console.log('max forfait duo : '+maxDuo);
  870. // console.log('currentDuo : '+currentDuo);
  871. // console.log('ref : '+refFix);
  872.                     if(refFix == 1 || refFix == 2){
  873.                         if(currentDuo > maxDuo){
  874.                             // console.log('ok block');
  875.                             return 0;
  876.                         }
  877.                     }
  878. // FIN BLOCK FORFAITS DUO EN FONCTION DU NOMBRE DE PARTICIPANTS
  879.                     count++;
  880.                 } else {
  881.                     count--;
  882.                     if(count < 0){
  883.                         count = 0;
  884.                     }
  885.                 }
  886.                 if(count > 0){
  887.                     \$(this).parents('li').addClass('active');
  888.                 } else {
  889.                     \$(this).parents('li').removeClass('active');
  890.                 }
  891.                 element.find('span').text(count);
  892.                 updatePrice();
  893.             });
  894.             \$('.to-cart .qty a').click(function(e){
  895.                 e.preventDefault();
  896.                 var element = \$(this).parents('.qty');
  897.                 var count = parseInt(element.find('span').text());
  898.                 if( \$(this).data('action') == 'plus' ){
  899.                     count++;
  900.                 } else {
  901.                     count--;
  902.                     if(count < 1){
  903.                         count = 1;
  904.                     }
  905.                 }
  906.                 element.find('span').text(count);
  907.                 updatePrice();
  908.             });
  909.             \$('.owl-carousel.product').owlCarousel({
  910.                 loop:false,
  911.                 margin:34,
  912.                 nav:false,
  913.                 dots:false,
  914.                 responsive:{
  915.                     0:{
  916.                         items:1
  917.                     },
  918.                     600:{
  919.                         items:1
  920.                     },
  921.                     1920:{
  922.                         items:1
  923.                     }
  924.                 }
  925.             });
  926.             var owl = \$('.owl-carousel.related');
  927.             owl.owlCarousel({
  928.                 loop:false,
  929.                 margin:110,
  930.                 nav:true,
  931.                 responsive:{
  932.                     0:{
  933.                         items:1
  934.                     },
  935.                     768:{
  936.                         items:2
  937.                     },
  938.                     1024:{
  939.                         items:3
  940.                     },
  941.                     1920:{
  942.                         items:4
  943.                     }
  944.                 }
  945.             });
  946.             owl.on('changed.owl.carousel', function(event) {
  947.                 var itemsNbr = owl.data()['owl.carousel'].settings.items;
  948.                 var itemsTotal = event.item.count;
  949.                 var itemsIndex = event.item.index;
  950.                 var pagesNbr = itemsTotal - itemsNbr;
  951.                 var horizontalBar = \$('.horizontal-bar').outerWidth();
  952.                 var horizontalBarCtrl = \$('.horizontal-bar-ctrl').outerWidth();
  953.                 var courseLength = \$('.horizontal-bar').outerWidth() - \$('.horizontal-bar-ctrl').outerWidth();
  954.                 var left = itemsIndex * 100 / pagesNbr; // percent
  955.                 left = left * courseLength / 100;
  956.                 \$('.horizontal-bar-ctrl').css('left', left+'px');
  957.             });
  958.         });
  959.     </script>
  960.     <!-- script pour gérer la connexion lors de la demande d'ajout de favoris --->
  961.     <script>
  962.         \$(document).ready(function() {
  963.             \$('.trigger-modal').on('click', function(e) {
  964.                 e.preventDefault(); // Empêche le comportement par défaut du lien
  965.                 const url = \"/\" + \$(\"html\").attr(\"lang\") + \"/user/connected\";
  966.                 \$.ajax({
  967.                     url: url,
  968.                     success: function(data) {
  969.                         if (!data.isLoggedIn) {
  970.                             const locale = data.locale;
  971.                             let modalTitle, modalContent, modalButtonText;
  972.                             if(locale === \"fr\") {
  973.                                 modalTitle = \"Connexion nécessaire\";
  974.                                 modalContent = \"Pour réaliser cette action vous devez être connecté. Si vous n'avez pas encore de compte, vous pouvez en créer un.\";
  975.                                 modalButtonText = \"Se connecter\";
  976.                             } else if(locale === \"en\") {
  977.                                 modalTitle = \"Connection required\";
  978.                                 modalContent = \"You must be logged in to perform this action. If you don't have an account yet, you can create one.\";
  979.                                 modalButtonText = \"Sign in\";
  980.                             } else if (locale === \"de\") {
  981.                                 modalTitle = \"Verbindung erforderlich\";
  982.                                 modalContent = \"Um diese Aktion durchzuführen, müssen Sie angemeldet sein. Wenn Sie noch kein Konto haben, können Sie eines erstellen.\";
  983.                                 modalButtonText = \"Sich anmelden\";
  984.                             }
  985.                             // Mise à jour du texte du bouton
  986.                             \$(\".modalbutton\").text(modalButtonText);
  987.                             // Mise à jour du titre et du contenu de la modale
  988.                             \$(\"#modalLoginReminderLabel\").text(modalTitle);
  989.                             \$(\"#modalLoginReminder .modal-body\").text(modalContent);
  990.                             // Affichage de la modale
  991.                             \$(\"#modalLoginReminder\").modal('show');
  992.                         }
  993.                     }
  994.                 });
  995.             });
  996.         });
  997.     </script>
  998. ";
  999.         
  1000.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  1001.         
  1002.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  1003.     }
  1004.     public function getTemplateName()
  1005.     {
  1006.         return "FrontBundle/Page/shop-product.html.twig";
  1007.     }
  1008.     public function isTraitable()
  1009.     {
  1010.         return false;
  1011.     }
  1012.     public function getDebugInfo()
  1013.     {
  1014.         return array (  945 => 416,  911 => 385,  907 => 384,  902 => 382,  898 => 381,  893 => 379,  889 => 378,  884 => 376,  880 => 375,  875 => 373,  871 => 372,  852 => 356,  800 => 306,  790 => 305,  779 => 302,  776 => 301,  774 => 300,  760 => 289,  751 => 283,  746 => 281,  742 => 280,  736 => 277,  716 => 259,  710 => 258,  702 => 253,  694 => 252,  689 => 250,  685 => 249,  677 => 248,  670 => 246,  662 => 245,  658 => 243,  655 => 242,  651 => 241,  638 => 231,  624 => 219,  616 => 213,  610 => 212,  602 => 209,  594 => 208,  585 => 207,  577 => 206,  572 => 205,  569 => 204,  565 => 203,  554 => 194,  548 => 193,  540 => 190,  532 => 189,  523 => 188,  515 => 187,  510 => 186,  507 => 185,  503 => 184,  497 => 181,  491 => 177,  485 => 176,  477 => 173,  465 => 172,  454 => 171,  446 => 170,  441 => 169,  438 => 168,  434 => 167,  424 => 160,  418 => 158,  416 => 157,  411 => 154,  406 => 148,  400 => 147,  394 => 144,  386 => 141,  372 => 133,  366 => 132,  360 => 131,  355 => 129,  348 => 124,  342 => 122,  335 => 120,  328 => 119,  326 => 118,  321 => 115,  310 => 113,  306 => 112,  294 => 107,  289 => 105,  279 => 104,  271 => 103,  261 => 100,  255 => 97,  251 => 95,  241 => 94,  164 => 24,  154 => 23,  135 => 19,  115 => 6,  105 => 5,  85 => 4,  64 => 3,  41 => 1,);
  1015.     }
  1016.     public function getSourceContext()
  1017.     {
  1018.         return new Source("{% extends 'FrontBundle/layout_shop.html.twig' %}
  1019. {% block title %}{{ app_sitename }} - {{ product.nameLocale(app.request.locale) }}{% endblock %}
  1020. {% block description %}{{ product.descriptionLocale(app.request.locale)|replace({'\\r\\n': ' '})|raw }}{% endblock %}
  1021. {% block google %}
  1022.     <!-- Google tag (gtag.js) -->
  1023.     <script async src=\"https://www.googletagmanager.com/gtag/js?id=AW-11336737773\">
  1024.     </script>
  1025.     <script>
  1026.         window.dataLayer = window.dataLayer || [];
  1027.         function gtag(){dataLayer.push(arguments);}
  1028.         gtag('js', new Date());
  1029.         gtag('config', 'AW-11336737773');
  1030.     </script>
  1031. {% endblock %}
  1032. {% block extra_class %}stack{% endblock %}
  1033. {# {% block menu_min %}200{% endblock %} #}
  1034. {# {% block menu_max %}2636{% endblock %} #}
  1035. {% block stylesheets %}
  1036.     <link href=\"/front/css/owl.carousel.min.css\" rel=\"stylesheet\">
  1037.     <link href=\"/front/css/owl.theme.default.min.css\" rel=\"stylesheet\">
  1038.     <link href=\"/front/css/nouislider.css\" rel=\"stylesheet\">
  1039.     <style>
  1040.         .option-content{
  1041.             border-radius: 14px;
  1042.             background: #931517;
  1043.             display: flex;
  1044.             justify-content: center;
  1045.             align-items: center;
  1046.             width: 119px;
  1047.             height: 19px;
  1048.             flex-shrink: 0;
  1049.             margin: 1.5rem auto 0.5rem auto;
  1050.             color: #fff;
  1051.             padding: 0.5rem 1rem;
  1052.             font-size: 13px;
  1053.             font-weight: 600;
  1054.         }
  1055.         .page_boutique-produit #product .options .col-md-6  li
  1056.         {
  1057.             background-color: #FFFFFF;
  1058.             border-radius: 15px;
  1059.             padding: 5px;
  1060.             margin: 12px;
  1061.             width: calc(25% - -59px);
  1062.             float: left;
  1063.             position: relative;
  1064.             height: 74px;
  1065.             border: 1px solid #FFFFFF;
  1066.         }
  1067.         .page_boutique-produit #product .options ul{
  1068.             padding: 0;
  1069.         }
  1070.         .page_boutique-produit #product .options .title span.sub {
  1071.             width: 100%;
  1072.             display: inline-block;
  1073.             font-size: 11px;
  1074.         }
  1075.         .page_boutique-produit #product .options .price{
  1076.             margin: 3px 0 0 0 ;
  1077.         }
  1078.         .bon-cadeau-17 .bon-cadeau-option-block1,
  1079.         .bon-cadeau-18 .bon-cadeau-option-block1,
  1080.         .bon-cadeau-19 .bon-cadeau-option-block1,
  1081.         .bon-cadeau-20 .bon-cadeau-option-block1,
  1082.         .bon-cadeau-6 .bon-cadeau-option-block1,
  1083.         .bon-cadeau-7 .bon-cadeau-option-block1,
  1084.         .bon-cadeau-8 .bon-cadeau-option-block1,
  1085.         .bon-cadeau-9 .bon-cadeau-option-block1 {
  1086.             display: none;
  1087.         }
  1088.         .btn-primary.active,
  1089.         .btn-primary:hover {
  1090.             color: #ffffff;
  1091.             text-decoration: none;
  1092.             border: 1px solid var(--red);
  1093.             background-color: var(--red);
  1094.         }
  1095.     </style>
  1096. {% endblock %}
  1097. {% block body %}
  1098.     <section id=\"product\" class=\"espace-content full mb-5 pb-5\" style=\"margin-top: 60px;\" data-id=\"{{ product.id }}\">
  1099.         <div class=\"content pt-5 pb-5 mt-5\" style=\"padding: 0 150px\">
  1100.             <div class=\"row\">
  1101.                 <a href=\"{{ path('framework_front_shop_cat', {'category_slug': product.category.slug, 'locale': app.request.locale}) }}\" class=\"link-back mb-4\"><img src=\"/front/img/button-arrow-r-l.svg\" alt=\"back\" width=\"25px\" class=\"me-2\" />{{ 'shop_product_back'|tr(tr)|raw }} {{ product.category.nameLocale(app.request.locale)|lower }}</a>
  1102.                 <div class=\"col-md-12\">
  1103.                     <ul class=\"breadcrumb\">
  1104.                         <li><a href=\"/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}\">{{ 'shop_title'|tr(tr)|raw }}</a></li>
  1105.                         <li><a href=\"/{{app.request.locale }}/{{ 'boutique'|getUrl(app.request.locale) }}/articles/{{ product.category.slug }}\">{{ product.category.nameLocale(app.request.locale) }}</a></li>
  1106.                         <li><span>{{ product.nameLocale(app.request.locale) }}</span></li>
  1107.                     </ul>
  1108.                     <a href=\"#\" class=\"favoris trigger-modal {{ (is_granted('IS_AUTHENTICATED_REMEMBERED')) ? 'bookmark' : 'not-logged-in' }} {{ (saved) ? 'saved' : '' }}\" data-id=\"{{ product.id }}\"><i></i></a>
  1109.                 </div>
  1110.                 <div class=\"col-md-5\">
  1111.                     <div class=\"owl-carousel product mt-5\">
  1112.                         {% for image in product.allImages %}
  1113.                             <div class=\"item\"><img src=\"/uploads/products/{{product.id}}/{{image}}\" alt=\"product\" /></div>
  1114.                         {% endfor %}
  1115.                     </div>
  1116.                     <div class=\"row \">
  1117.                         <div class=\"col-9 mx-auto\">
  1118.                             {% if product.published %}
  1119.                                 <a href=\"#\" class=\"btn-sm btn-primary active add-cart mb-3\" data-type=\"bons\" data-id=\"{{ product.id }}\"><img src=\"/front/img/cart.svg\" alt=\"cart\" class=\"me-2\" /> {{ 'shop_product_cart_add'|tr(tr)|raw }}</a>
  1120.                                 <a href=\"/{{app.request.locale}}/boutique/panier\" class=\"btn-sm btn-primary text w-100 text-center\">{{ 'shop_product_cart_view'|tr(tr)|raw }}</a>
  1121.                             {% else %}
  1122.                                 <h6 class=\"text-center\">{{ 'shop_nostock'|tr(tr)|raw }}</h6>
  1123.                             {% endif %}
  1124.                         </div>
  1125.                     </div>
  1126.                 </div>
  1127.                 <div class=\"col-md-7 description mt-5 pt-0\">
  1128.                     <div class=\"row\">
  1129.                         <div class=\"col-12\"><h1 class=\"title\" style=\"letter-spacing: initial;\">{{ product.nameLocale(app.request.locale) }}</h1></div>
  1130.                         <div class=\"col-12 to-cart mt-3 mb-3\">
  1131.                             <p class=\"price mt-2 me-4\" data-price=\"{{ product.price }}\"><i>{{ product.priceFr }}</i> €</p>
  1132.                             <p class=\"qty me-4\"><i class=\"qty-bons-before\">{{ 'shop_product_for'|tr(tr)|raw }}</i><a href=\"#\" data-action=\"minus\">-</a><span>1</span><a href=\"#\" data-action=\"plus\">+</a><i class=\"qty-bons-after\">{{ 'shop_product_for1'|tr(tr)|raw }}</i></p>
  1133.                             <p class=\"per-person p-0\">{% if product.category.slug == 'bon-cadeau' %}<span>{{ 'shop_product_price'|tr(tr)|raw }}</span>{% endif %}</p>
  1134.                         </div>
  1135.                     </div>
  1136.                     <div class=\"row\">
  1137.                         <div class=\"col-12\">
  1138.                             <div class=\"desc mb-3\">
  1139.                                 {#                  <label>Description :</label> #}
  1140.                                 <p>{{ product.descriptionLocale(app.request.locale)|replace({'\\r\\n': '<br>'})|raw }}</p>
  1141.                             </div>
  1142.                             <div class=\"additional mb-3\">
  1143.                                 {{ product.additionalLocale(app.request.locale)|raw }}
  1144.                             </div>
  1145.                             <div class=\"usecase\">
  1146.                                 <p class=\"mb-2\">{{ (product.slug == 'bon-cadeau-9') ? '' : 'shop_product_use'|tr(tr)|raw }} {{ product.usecaseLocale(app.request.locale) }}</p>
  1147.                                 <p class=\"mb-5 text-xs\">{{ 'shop_product_use2'|tr(tr)|raw }}</p>
  1148.                             </div>
  1149.                             {#                <div class=\"info mt-5 mb-5\">
  1150.                   <label>Informations complémentaires :</label>
  1151.                   <p>{{ product.additionalLocale(app.request.locale)|replace({'\\r\\n': '<br>'})|raw }}</p>
  1152.                 </div> #}
  1153.                             <div id=\"bloc2\" class=\"row mb-5\"></div>
  1154.                             {% if product.category.slug == 'bon-cadeau' %}
  1155.                                 <div class=\"options {{ product.slug }}\">
  1156.                                     <label>{{ 'shop_product_options_title'|tr(tr)|raw }}</label>
  1157.                                     <div class=\"row\">
  1158.                                         <div class=\"col-md-6 bon-cadeau-option-block1\">
  1159.                               <span class=\"option-content\">
  1160.                                 Restaurant
  1161.                             </span>
  1162.                                             <ul class=\"mt-3\">
  1163.                                                 {% for option in options %}
  1164.                                                     {% if option.restaurant  == true %}
  1165.                                                         <li class=\"option-{{option.id}}\" style=\"height: 85px\">
  1166.                                                             {% if option.desc != '' %}<span class=\"infos\" data-desc=\"{{ option.desc }}\" title=\"{{ option.desc }}\">i</span>{% endif %}
  1167.                                                             <p class=\"title\">{{ option.name }}<br>{% if option.sub != '' %} <span class=\"sub\">{{ option.sub }}</span> {% endif %}</p>
  1168.                                                             <p class=\"price\" {% if not option.lounge and option.id < 3 %}style=\"margin: 5px 0 5px 0 !important;\"{% endif %} {% if option.price == 64 %} style=\"margin: 13px 0 5px 0 !important;\"{% endif %}>(+ {{ option.price }} €)</p>
  1169.                                                             <p class=\"qty\" data-price=\"{{ option.price }}\" data-id=\"{{ option.id }}\"><a href=\"#\" data-action=\"minus\">-</a><span>0</span><a href=\"#\" data-action=\"plus\">+</a></p>
  1170.                                                         </li>
  1171.                                                     {% endif %}
  1172.                                                 {% endfor %}
  1173.                                             </ul>
  1174.                                         </div>
  1175.                                         <div class=\"col-md-6 bon-cadeau-option-block3\">
  1176.                             <span class=\"option-content\">
  1177.                               {{ 'cadeau_title'|tr(tr)|raw }}
  1178.                             </span>
  1179.                                             <ul class=\"mt-3\">
  1180.                                                 {% for option in options %}
  1181.                                                     {% if option.boutique  == true %}
  1182.                                                         <li class=\"option-{{option.id}}\">
  1183.                                                             {% if option.desc != '' %}<span class=\"infos\" data-desc=\"{{ option.desc }}\" title=\"{{ option.desc }}\">i</span>{% endif %}
  1184.                                                             <p class=\"title\">{{ option.name }}<br>{% if option.lounge %}<span>Lounge Club</span>{% endif %}</p>
  1185.                                                             <p class=\"price\" {% if not option.lounge and option.id < 3 %}style=\"margin-top: 10px;\"{% endif %}>(+ {{ option.price }} €)</p>
  1186.                                                             <p class=\"qty\" data-price=\"{{ option.price }}\" data-id=\"{{ option.id }}\"><a href=\"#\" data-action=\"minus\">-</a><span>0</span><a href=\"#\" data-action=\"plus\">+</a></p>
  1187.                                                         </li>
  1188.                                                     {% endif %}
  1189.                                                 {% endfor %}
  1190.                                             </ul>
  1191.                                         </div>
  1192.                                     </div>
  1193.                                     <div class=\"row\">
  1194.                                         <div class=\"col-md-6 bon-cadeau-option-block2\">
  1195.                             <span class=\"option-content\">
  1196.                                 Lounge Club
  1197.                             </span>
  1198.                                             <ul class=\"mt-3\">
  1199.                                                 {% for option in options %}
  1200.                                                     {% if option.lounge  == true %}
  1201.                                                         <li class=\"option-{{option.id}}\">
  1202.                                                             {% if option.desc != '' %}<span class=\"infos\" data-desc=\"{{ option.desc }}\" title=\"{{ option.desc }}\">i</span>{% endif %}
  1203.                                                             <p class=\"title\">{{ option.name }}<br>{% if option.lounge %}<span>Lounge Club</span>{% endif %}</p>
  1204.                                                             <p class=\"price\" {% if not option.lounge and option.id < 3 %}style=\"margin-top: 10px;\"{% endif %}>(+ {{ option.price }} €)</p>
  1205.                                                             <p class=\"qty\" data-price=\"{{ option.price }}\" data-id=\"{{ option.id }}\"><a href=\"#\" data-action=\"minus\">-</a><span>0</span><a href=\"#\" data-action=\"plus\">+</a></p>
  1206.                                                         </li>
  1207.                                                     {% endif %}
  1208.                                                 {% endfor %}
  1209.                                             </ul>
  1210.                                         </div>
  1211.                                     </div>
  1212.                                 </div>
  1213.                             {% endif %}
  1214.                         </div>
  1215.                     </div>
  1216.                     <div class=\"floating-cart\"><img src=\"/front/img/cart.svg\" alt=\"cart\" /></div>
  1217.                 </div>
  1218.             </div>
  1219.         </div>
  1220.     </section>
  1221.     <section id=\"similar\" class=\"espace-content full mb-5 pb-5\" style=\"margin-top: 40px;\">
  1222.         <div class=\"content\">
  1223.             <h2 class=\"pt-5 mb-3 no-bar\">{{ 'shop_product_similar_title'|tr(tr)|upper|raw }}<span class=\"full-bar\"></span></h2>
  1224.         </div>
  1225.     </section>
  1226.     <section class=\"items-slider espace-content p-0 mt-5 mb-5\">
  1227.         <div class=\"content pt-5 pb-5 mt-5\">
  1228.             <div class=\"owl-carousel related p-0\">
  1229.                 {% for item in similar %}
  1230.                     {% if item.id > 19 and item.published %}
  1231.                         <div class=\"item row\">
  1232.                             <div class=\"col-12 \">
  1233.                                 <a href=\"/{{app.request.locale}}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{ item.slug }}\">
  1234.                                     <img alt=\"slug\" class=\"cover\" src=\"/uploads/products/{{item.id}}/{{ item.mainImage }}\" />
  1235.                                 </a>
  1236.                                 <a href=\"/{{app.request.locale}}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{ item.slug }}\">
  1237.                                     <span class=\"name\">{{ item.nameLocale(app.request.locale) }}</span>
  1238.                                     <span class=\"price\">{{ item.priceFr }} €</span>
  1239.                                 </a>
  1240.                                 <a href=\"/{{app.request.locale}}/{{ 'boutique'|getUrl(app.request.locale) }}/produit/{{ item.slug }}\">
  1241.                                     <span class=\"category\">{{ item.category.nameLocale(app.request.locale) }}</span>
  1242.                                 </a>
  1243.                             </div>
  1244.                         </div>
  1245.                     {% endif %}
  1246.                 {% endfor %}
  1247.             </div>
  1248.             <div class=\"horizontal-bar-container\">
  1249.                 <div class=\"horizontal-bar\"></div>
  1250.                 <div class=\"horizontal-bar-ctrl\"></div>
  1251.             </div>
  1252.         </div>
  1253.     </section>
  1254.     <section class=\"actu-content newsletter\" style=\"margin-bottom: 180px;\">
  1255.         <div class=\"content mt-5 pt-5\">
  1256.             <h2 class=\"mb-5 no-bar\">{{ 'newsletter_title'|tr(tr)|upper|raw }}<span class=\"full-bar\"></span></h2>
  1257.             <div class=\"pt-5\">
  1258.                 <form>
  1259.                     <p class=\"title\">{{ 'newsletter_subtitle'|tr(tr)|raw }}</p>
  1260.                     <p class=\"desc\">{{ 'newsletter_desc'|tr(tr)|raw }}</p>
  1261.                     <div class=\"email-input\">
  1262.                         <input type=\"text\" value=\"\" placeholder=\"{{ 'newsletter_email'|tr(tr)|raw }}\" class=\"email mt-3\" />
  1263.                         <a href=\"#\" class=\"register\">&nbsp;</a>
  1264.                     </div>
  1265.                     <div class=\"row\">
  1266.                         <div class=\"col-12 mt-4\">
  1267.                             <input type=\"checkbox\" id=\"confirm\" class=\"apple-switch\" checked=\"checked\" />
  1268.                             <label for=\"confirm\">{{ 'newsletter_agree'|tr(tr)|raw }}</label>
  1269.                             <p class=\"text-center mt-4\" id=\"message_newsletter\"></p>
  1270.                         </div>
  1271.                     </div>
  1272.                 </form>
  1273.             </div>
  1274.         </div>
  1275.     </section>
  1276.     {% include ('FrontBundle/Partial/modal.html.twig') %}
  1277.     {% include 'FrontBundle/Partial/footer.html.twig' %}
  1278. {% endblock %}
  1279. {% block javascripts %}
  1280.     <script src=\"/front/js/owl.carousel.min.js\"></script>
  1281.     <script type=\"text/javascript\">
  1282.         function updatePrice(){
  1283.             console.log('updateprice')
  1284.             var product_price = parseFloat(\$('#product .price').data('price'));
  1285.             var qty = parseInt(\$('.to-cart span').text());
  1286.             var options_prices = 0;
  1287.             var option_qty_save = 0;
  1288.             var price = 0;
  1289.             \$('#product .options li .qty').each(function(index, value) {
  1290.                 var option_price = parseFloat(\$(this).data('price'));
  1291.                 var option_qty = parseInt(\$(this).find('span').text());
  1292.                 if(option_qty > 0){
  1293.                     options_prices = options_prices + (option_price * option_qty);
  1294.                     option_qty_save = option_qty
  1295.                 }
  1296.             }).promise().done( function(){
  1297.                 // price = (product_price + options_prices) * qty;
  1298.                 price = (product_price * qty) + options_prices; //NOUVEAU CALCUL
  1299.                 \$('#product .price i').text(price.toFixed(2).replace( '.', ',' ));
  1300.                 if(option_qty_save == 0 && qty == 1){
  1301.                     \$('.per-person').fadeIn();
  1302.                 } else {
  1303.                     \$('.per-person').fadeOut();
  1304.                 }
  1305.             });
  1306.         }
  1307.         \$( document ).ready(function() {
  1308.             if( window.innerWidth <= 1024 ){
  1309.                 \$('#product .col-md-5').addClass('col-md-4');
  1310.                 \$('#product .col-md-5').removeClass('col-md-5');
  1311.                 \$('#product .col-md-7').addClass('col-md-8');
  1312.                 \$('#product .col-md-7').removeClass('col-md-7');
  1313.                 \$('#bloc2').append(\$('.to-cart'));
  1314.             }
  1315.             // HIDE FORFAITS DUO
  1316.             var product_slug = '{{product.slug}}';
  1317.             var slugs = ['bon-cadeau-6', 'bon-cadeau-7', 'bon-cadeau-8', 'bon-cadeau-9'];
  1318.             if(jQuery.inArray(product_slug, slugs) != -1) {
  1319.                 \$('.options .option-1').hide();
  1320.                 \$('.options .option-2').hide();
  1321.             }
  1322.             // END HIDE FORFAITS DUO
  1323.             \$('.additional li').each(function(index, value) {
  1324.                 if(\$(this).data('info')){
  1325.                     var add_desc = '';
  1326.                     if( \$(this).data('info') == 'sp-ga' ){
  1327.                         /*add_desc = \"{{ 'shop_bons_desc1'|tr(tr)|raw }}\".replace(/'/g, \"\\\\'\");*/
  1328.                         add_desc = \"{{ 'shop_bons_desc1'|tr(tr)|raw }}\";
  1329.                     } else if( \$(this).data('info') == 'mj-m1' ){
  1330.                         /*add_desc = \"{{ 'shop_bons_desc2'|tr(tr)|raw }}\".replace(/'/g, \"\\\\'\");*/
  1331.                         add_desc = \"{{ 'shop_bons_desc2'|tr(tr)|raw }}\";
  1332.                     } else if( \$(this).data('info') == 'mj-m2' ){
  1333.                         /*add_desc = \"{{ 'shop_bons_desc3'|tr(tr)|raw }}\".replace(/'/g, \"\\\\'\");*/
  1334.                         add_desc = \"{{ 'shop_bons_desc3'|tr(tr)|raw }}\";
  1335.                     } else if( \$(this).data('info') == 've-m1' ){
  1336.                         /*add_desc = \"{{ 'shop_bons_desc4'|tr(tr)|raw }}\".replace(/'/g, \"\\\\'\");*/
  1337.                         add_desc = \"{{ 'shop_bons_desc4'|tr(tr)|raw }}\";
  1338.                     } else if( \$(this).data('info') == 've-m2' ){
  1339.                         /*add_desc = \"{{ 'shop_bons_desc5'|tr(tr)|raw }}\".replace(/'/g, \"\\\\'\");*/
  1340.                         add_desc = \"{{ 'shop_bons_desc5'|tr(tr)|raw }}\";
  1341.                     }
  1342.                     \$(this).append('<span class=\"infos\" data-desc=\"'+add_desc+'\">i</span>')
  1343.                 }
  1344.             });
  1345.             \$('.infos').each(function(index, value) {
  1346.                 \$(this).tooltipster({
  1347.                     content: \$(this).data('desc'),
  1348.                     delay: 200,
  1349.                     contentAsHTML: true,
  1350.                     trigger: 'click'
  1351.                 });
  1352.             });
  1353.             \$('#product .bookmark').click(function(e){
  1354.                 e.preventDefault();
  1355.                 if( \$(this).hasClass('saved') ){
  1356.                     var action = 'unsave';
  1357.                 } else {
  1358.                     var action = 'save';
  1359.                 }
  1360.                 \$.ajax({
  1361.                     type: \"POST\",
  1362.                     url: \"/shop/product/\"+action+\"/{{ product.id }}\",
  1363.                     data: null,
  1364.                     dataType: \"json\",
  1365.                     success: function(response) {
  1366.                         if( action == 'save' ){
  1367.                             \$('#product .bookmark').addClass('saved');
  1368.                             \$('#product .bookmark span').text('Produit sauvegardé');
  1369.                         } else {
  1370.                             \$('#product .bookmark').removeClass('saved');
  1371.                             \$('#product .bookmark span').text('Ajouter aux favoris');
  1372.                         }
  1373.                     }
  1374.                 });
  1375.             });
  1376.             \$('.options .qty a').click(function(e){
  1377.                 e.preventDefault();
  1378.                 var element = \$(this).parents('.qty');
  1379.                 var count = parseInt(element.find('span').text());
  1380.                 if( \$(this).data('action') == 'plus' ){
  1381. // BLOCK FORFAITS DUO EN FONCTION DU NOMBRE DE PARTICIPANTS
  1382.                     console.log('check forfait duo');
  1383.                     var qtyPres = parseInt(\$('.to-cart span').text());
  1384.                     var maxDuo = parseInt((qtyPres / 2)+(qtyPres % 2));
  1385.                     var currentDuo = parseInt(\$('.qty[data-id=\"1\"] span').text()) + parseInt(\$('.qty[data-id=\"2\"] span').text()) + 1;
  1386.                     var refFix = parseInt(element.data('id'));
  1387. // console.log('max forfait duo : '+maxDuo);
  1388. // console.log('currentDuo : '+currentDuo);
  1389. // console.log('ref : '+refFix);
  1390.                     if(refFix == 1 || refFix == 2){
  1391.                         if(currentDuo > maxDuo){
  1392.                             // console.log('ok block');
  1393.                             return 0;
  1394.                         }
  1395.                     }
  1396. // FIN BLOCK FORFAITS DUO EN FONCTION DU NOMBRE DE PARTICIPANTS
  1397.                     count++;
  1398.                 } else {
  1399.                     count--;
  1400.                     if(count < 0){
  1401.                         count = 0;
  1402.                     }
  1403.                 }
  1404.                 if(count > 0){
  1405.                     \$(this).parents('li').addClass('active');
  1406.                 } else {
  1407.                     \$(this).parents('li').removeClass('active');
  1408.                 }
  1409.                 element.find('span').text(count);
  1410.                 updatePrice();
  1411.             });
  1412.             \$('.to-cart .qty a').click(function(e){
  1413.                 e.preventDefault();
  1414.                 var element = \$(this).parents('.qty');
  1415.                 var count = parseInt(element.find('span').text());
  1416.                 if( \$(this).data('action') == 'plus' ){
  1417.                     count++;
  1418.                 } else {
  1419.                     count--;
  1420.                     if(count < 1){
  1421.                         count = 1;
  1422.                     }
  1423.                 }
  1424.                 element.find('span').text(count);
  1425.                 updatePrice();
  1426.             });
  1427.             \$('.owl-carousel.product').owlCarousel({
  1428.                 loop:false,
  1429.                 margin:34,
  1430.                 nav:false,
  1431.                 dots:false,
  1432.                 responsive:{
  1433.                     0:{
  1434.                         items:1
  1435.                     },
  1436.                     600:{
  1437.                         items:1
  1438.                     },
  1439.                     1920:{
  1440.                         items:1
  1441.                     }
  1442.                 }
  1443.             });
  1444.             var owl = \$('.owl-carousel.related');
  1445.             owl.owlCarousel({
  1446.                 loop:false,
  1447.                 margin:110,
  1448.                 nav:true,
  1449.                 responsive:{
  1450.                     0:{
  1451.                         items:1
  1452.                     },
  1453.                     768:{
  1454.                         items:2
  1455.                     },
  1456.                     1024:{
  1457.                         items:3
  1458.                     },
  1459.                     1920:{
  1460.                         items:4
  1461.                     }
  1462.                 }
  1463.             });
  1464.             owl.on('changed.owl.carousel', function(event) {
  1465.                 var itemsNbr = owl.data()['owl.carousel'].settings.items;
  1466.                 var itemsTotal = event.item.count;
  1467.                 var itemsIndex = event.item.index;
  1468.                 var pagesNbr = itemsTotal - itemsNbr;
  1469.                 var horizontalBar = \$('.horizontal-bar').outerWidth();
  1470.                 var horizontalBarCtrl = \$('.horizontal-bar-ctrl').outerWidth();
  1471.                 var courseLength = \$('.horizontal-bar').outerWidth() - \$('.horizontal-bar-ctrl').outerWidth();
  1472.                 var left = itemsIndex * 100 / pagesNbr; // percent
  1473.                 left = left * courseLength / 100;
  1474.                 \$('.horizontal-bar-ctrl').css('left', left+'px');
  1475.             });
  1476.         });
  1477.     </script>
  1478.     <!-- script pour gérer la connexion lors de la demande d'ajout de favoris --->
  1479.     <script>
  1480.         \$(document).ready(function() {
  1481.             \$('.trigger-modal').on('click', function(e) {
  1482.                 e.preventDefault(); // Empêche le comportement par défaut du lien
  1483.                 const url = \"/\" + \$(\"html\").attr(\"lang\") + \"/user/connected\";
  1484.                 \$.ajax({
  1485.                     url: url,
  1486.                     success: function(data) {
  1487.                         if (!data.isLoggedIn) {
  1488.                             const locale = data.locale;
  1489.                             let modalTitle, modalContent, modalButtonText;
  1490.                             if(locale === \"fr\") {
  1491.                                 modalTitle = \"Connexion nécessaire\";
  1492.                                 modalContent = \"Pour réaliser cette action vous devez être connecté. Si vous n'avez pas encore de compte, vous pouvez en créer un.\";
  1493.                                 modalButtonText = \"Se connecter\";
  1494.                             } else if(locale === \"en\") {
  1495.                                 modalTitle = \"Connection required\";
  1496.                                 modalContent = \"You must be logged in to perform this action. If you don't have an account yet, you can create one.\";
  1497.                                 modalButtonText = \"Sign in\";
  1498.                             } else if (locale === \"de\") {
  1499.                                 modalTitle = \"Verbindung erforderlich\";
  1500.                                 modalContent = \"Um diese Aktion durchzuführen, müssen Sie angemeldet sein. Wenn Sie noch kein Konto haben, können Sie eines erstellen.\";
  1501.                                 modalButtonText = \"Sich anmelden\";
  1502.                             }
  1503.                             // Mise à jour du texte du bouton
  1504.                             \$(\".modalbutton\").text(modalButtonText);
  1505.                             // Mise à jour du titre et du contenu de la modale
  1506.                             \$(\"#modalLoginReminderLabel\").text(modalTitle);
  1507.                             \$(\"#modalLoginReminder .modal-body\").text(modalContent);
  1508.                             // Affichage de la modale
  1509.                             \$(\"#modalLoginReminder\").modal('show');
  1510.                         }
  1511.                     }
  1512.                 });
  1513.             });
  1514.         });
  1515.     </script>
  1516. {% endblock %}
  1517. ""FrontBundle/Page/shop-product.html.twig""/home/clients/3cdd021c67ffcc8186b679e7845b2138/sites/api-royal-palace.dix-demo.fr/13_06_24/templates/FrontBundle/Page/shop-product.html.twig");
  1518.     }
  1519. }