templates/fiche_produit/index.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title %}SPA.BIZ | Fiche produit{% endblock %}
  3. {% block title_page %}FICHE PRODUIT{% endblock %}
  4. {% block body %}
  5.     <div class="container-fluid background-grey d-lg-block d-md-block d-sm-none d-none">
  6.         <div class="container">
  7.             <div class="row pt-3 pb-3">
  8.                 <ul class="d-flex justify-content-center mb-0">
  9.                     <li class="fiche-nav"><a href="{{ path("app_fiche_produit_portail_luxe", {"id_categorie":current_parent_categorie.id, "name_categorie": current_parent_categorie.getNameLangue(app.request.locale)|replace({' ':'-'}), "id_produit": produit.id}) }}" class="fs-14 text-grey-color-used no-decoration">{% trans %}Portail{% endtrans %} {{ current_parent_categorie.getNameLangue(app.request.locale) }}</a></li>
  10.                     <li class="fiche-nav"><a href="{{ path("app_list_product_per_categ", {"type":'gamme-'~current_parent_categorie.getNameLangue(app.request.locale)|replace({' ':'-'}), "id_categorie":current_parent_categorie.id}) }}" class="fs-14 text-grey-color-used no-decoration">{% trans %}Tous les{% endtrans %} spas {{ current_parent_categorie.getNameLangue(app.request.locale) }}</a></li>
  11.                     <li class="fiche-nav"><a target="_blank" href="https://pieces-detachees.tropicspa.fr/378-accessoire-spa" class="fs-14 text-grey-color-used no-decoration">{% trans %}Accessoires{% endtrans %}</a></li>
  12.                     <li class="fiche-nav"><a target="_blank" href="https://pieces-detachees.tropicspa.fr/" class="fs-14 text-grey-color-used no-decoration">{% trans %}Pièces{% endtrans %} {% trans %}Détâchées{% endtrans %}</a></li>
  13.                 </ul>
  14.             </div>
  15.         </div>
  16.     </div>
  17.     {#  mobile  #}
  18.     <div class="container-fluid background-blue d-lg-none d-md-none d-sm-block d-block">
  19.         <div class="container">
  20.             <div class="row pt-3 pb-3">
  21.                 {% for categ in categori_parent %}
  22.                     <div class="col-4">
  23.                         {% if categ.id == categorie_parent_current %}
  24.                             <div class="w-100 categ-actif-sm">
  25.                                 <a class="w-100 no-wrap text-decoration-none" href="{{ path("app_list_product_per_categ", {"type":'gamme-'~categ.getNameLangue(app.request.locale)|replace({' ':'-'}), "id_categorie":categ.id }) }}">{% trans %}Gamme{% endtrans %} <br>{{ categ.getNameLangue(app.request.locale) }}</a>
  26.                             </div>
  27.                         {% else %}
  28.                             <div class="w-100 categ-inactif-sm">
  29.                                 <a class="w-100 no-wrap text-decoration-none" href="{{ path("app_list_product_per_categ", {"type":'gamme-'~categ.getNameLangue(app.request.locale)|replace({' ':'-'}), "id_categorie":categ.id }) }}">{% trans %}Gamme{% endtrans %} <br>{{ categ.getNameLangue(app.request.locale) }}</a>
  30.                             </div>
  31.                         {% endif %}
  32.                     </div>
  33.                 {% endfor %}
  34.             </div>
  35.         </div>
  36.     </div>
  37.     <div class="container-fluid background-grey-sm">
  38.         <div class="container bordered mt-lg-3 mt-md-3 mt-sm-0 mt-0 pt-lg-3 p-lg-4 p-md-4 p-sm-2 p-2 mb-lg-3 mb-md-3 mb-sm-0 mb-0">
  39.             <div class="row p-2 ">
  40.                 <div class="col-lg-6 col-md-12 col-sm-12 col-12">
  41.                     <div class="row">
  42.                         <div class="col-4 block-file-product-list-images d-lg-block d-md-block d-sm-none d-none">
  43.                             <div class="list-image-fiche position-relative">
  44.                                 {% for keyImage, image in produit.imageProduits %}
  45.                                     {% if keyImage <= 3 %}
  46.                                         <div class="position-relative">
  47.                                             <a data-color="{% if image.color %}{{ image.color.id }}{% endif %}" class="example-image-link" href="{{ asset("/images/images_produits/"~image.image) }}" data-lightbox="example-set" data-title="Spa"><img height="98px" class="example-image" src="{{ asset("/images/images_produits/"~image.image) }}" alt="" /></a>
  48.                                         </div>
  49.                                     {% endif %}
  50.                                 {% endfor %}
  51.                                 <div class="list-other-img-fiche">
  52.                                     <img class="mt-8" src="{{ asset("/images/block_products/camera.png") }}" alt="camera">
  53.                                     <div class="plus-other-image-fiche">+</div>
  54.                                     <div class="fs-14 mt-3 text-white">
  55.                                         <span>+ {{ restCountShowInModal }} {% trans %}photos{% endtrans %}</span>
  56.                                     </div>
  57.                                     <!-- Button trigger modal -->
  58.                                     <button type="button" class="btn btn-primary button-all-image" data-bs-toggle="modal" data-bs-target="#exampleModal">
  59.                                         Launch
  60.                                     </button>
  61.                                     <!-- Modal -->
  62.                                     <div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
  63.                                         <div class="modal-dialog">
  64.                                             <div class="modal-content">
  65.                                                 <div class="modal-header">
  66.                                                     <h5 class="modal-title" id="exampleModalLabel">{% trans %}Toutes les photos{% endtrans %}</h5>
  67.                                                     <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  68.                                                 </div>
  69.                                                 <div class="modal-body list-img-fiche-modal">
  70.                                                     {% for keyImage, image in produit.imageProduits %}
  71.                                                         {% if keyImage > 3 %}
  72.                                                             <div>
  73.                                                                 <a  data-color="{% if image.color %}{{ image.color.id }}{% endif %}"  class="example-image-link" href="{{ asset("/images/images_produits/"~image.image) }}" data-lightbox="example-set" data-title="Spa"><img height="98px" class="example-image" src="{{ asset("/images/images_produits/"~image.image) }}" alt="" /></a>
  74.                                                             </div>
  75.                                                         {% endif %}
  76.                                                     {% endfor %}
  77.                                                 </div>
  78.                                             </div>
  79.                                         </div>
  80.                                     </div>
  81.                                     <!-- Modal -->
  82.                                 </div>
  83.                             </div>
  84.                         </div>
  85.                         <div class="col-lg-8 col-md-8 col-sm-12 col-12">
  86.                             <div class="card-body text-center p-1 position-relative">
  87.                                 {% if not produit.stock <= 0 %}
  88.                                     <p class="disponible d-lg-block d-md-block d-sm-none d-none">{% trans %}DISPONIBLE MAINTENANT{% endtrans %}</p>
  89.                                 {% endif %}
  90.                                 <div>
  91.                                     <h2 class="fw-600 text-grey-color-used"><i class="text-portail">SPAS</i> {{ produit.getNameLangue(app.request.locale) }}</h2>
  92.                                 </div>
  93.                                 <div class="row">
  94.                                     <div class="col-6 text-small-bolder-fiche text-end text-grey-color-used">{{ produit | places }} {% trans %}place(s){% endtrans %}</div>
  95.                                     <div class="col-6 text-small-bolder-fiche text-start text-grey-color-used">{{ produit | jets}} {% trans %}jet(s){% endtrans %}</div>
  96.                                 </div>
  97.                                 {% if caracteristique_init.prixPublicConseille and  caracteristique_init.prixPublicConseille  is not empty %}
  98.                                     <p class="mb-1 mt-1 price_public_conseiller">Prix public conseillé  : <span>{{ caracteristique_init.prixPublicConseille|number_format(0, ',', ' ') }} €</span></p>
  99.                                 {% endif %}
  100.                                 <div class="price-products-fiche text-grey-color-used">{{ produit.getPriceLangue(app.request.locale)|number_format(0, ',', ' ') }} €</div>
  101.                                 <div class="ratings-fiche mb-3">
  102.                                     {% set gammeProd = produit | gameStart %}
  103.                                     {% set nbrStartsP = gammeProd|number_format %}
  104.                                     <div class="d-flex">
  105.                                         {% for i in 1..nbrStartsP %}
  106.                                             <img style="height: 35px;" src="{{ asset("/images/start_actif_hotfix.png") }}" alt="etoile">
  107.                                         {% endfor %}
  108.                                     </div>
  109.                                 </div>
  110.                                 <div class="mb-4 d-lg-block d-md-block d-sm-none d-none position-relative">
  111.                                     <div class="show-img-selected-color-in-product">
  112.                                         <a id="z-image-1" onmouseenter="zoom('z-image-1')" src="{{ asset("/images/images_produits/"~produit.imageProduitsPrincipale) }}" class="example-image-link d-block set_height_img image-background-product-fp" style="background-image: url('{{ asset("/images/images_produits/"~produit.imageProduitsPrincipale) }}')" href="{{ asset("/images/images_produits/"~produit.imageProduitsPrincipale) }}" data-lightbox="example-2" data-title="Spas">
  113.                                         </a>
  114.                                     </div>
  115.                                     <div class="d-none">
  116.                                         {% for keyImage, prodImage in produit.imageProduits %}
  117.                                             {% if keyImage < 7 %}
  118.                                                 <a class="example-image-link" href="{{ asset("/images/images_produits/"~prodImage.image) }}" data-lightbox="example-2" data-title="Spas"><img class="set_height_img" src="{{ asset("/images/images_produits/"~prodImage.image) }}" alt="Spa"/></a>
  119.                                             {% endif %}
  120.                                         {% endfor %}
  121.                                     </div>
  122.                                 </div>
  123.                                 <div class="mb-4 d-lg-none d-md-none d-sm-block d-block show-img-selected-color-in-product-mobil">
  124.                                     <div class="center-list-sm position-relative">
  125.                                         <div class="width-unset">
  126.                                             <a class="example-image-link d-block image-background-product-fp" href="{{ asset("/images/images_produits/"~produit.imageProduitsPrincipale) }}" data-lightbox="example-set-sm" data-title="Spa" style="background-image: url('{{ asset("/images/images_produits/"~produit.imageProduitsPrincipale) }}')">
  127.                                                 <img class="example-image3 image_bug" src="{{ asset("/images/images_produits/"~produit.imageProduitsPrincipale) }}" alt="" />
  128.                                             </a>
  129.                                         </div>
  130.                                         {% for keyImage, prodImage in produit.imageProduits %}
  131.                                             {% if keyImage < 7 %}
  132.                                                 <div class="width-unset">
  133.                                                     <a class="example-image-link image-background-product-fp" href="{{ asset("/images/images_produits/"~prodImage.image) }}" data-lightbox="example-set-sm" data-title="Spa" style="background-image: url('{{ asset("/images/images_produits/"~produit.imageProduitsPrincipale) }}')">
  134.                                                         <img class="example-image3 image_bug" src="{{ asset("/images/images_produits/"~prodImage.image) }}" alt="" />
  135.                                                     </a>
  136.                                                 </div>
  137.                                             {% endif %}
  138.                                         {% endfor %}
  139.                                     </div>
  140.                                 </div>
  141.                                 <div class="d-lg-none d-md-none d-sm-block d-block">
  142.                                     <div class="list-other-img-fiche-sm end-0">
  143.                                         <img class="mt-8" style="width: 40px;" src="{{ asset("/images/block_products/camera-grey.png") }}" alt="camera">
  144.                                         <div class="plus-other-image-fiche-sm">+</div>
  145.                                         <!-- Button trigger modal -->
  146.                                         <button type="button" class="btn btn-primary button-all-image-sm" data-bs-toggle="modal" data-bs-target="#exampleModal1">
  147.                                             La
  148.                                         </button>
  149.                                         <!-- Modal -->
  150.                                         <div class="modal fade" id="exampleModal1" tabindex="-1" aria-labelledby="exampleModalLabel1" aria-hidden="true">
  151.                                             <div class="modal-dialog">
  152.                                                 <div class="modal-content">
  153.                                                     <div class="modal-header">
  154.                                                         <h5 class="modal-title" id="exampleModalLabel1">{% trans %}Toutes les photos{% endtrans %}</h5>
  155.                                                         <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  156.                                                     </div>
  157.                                                     <div class="modal-body list-img-fiche-modal">
  158.                                                         {% for prodImage in produit.imageProduits %}
  159.                                                             <div class="width-unset">
  160.                                                                 <img height="120px" src="{{ asset("/images/images_produits/"~prodImage.image) }}" alt="zaccouzi">
  161.                                                             </div>
  162.                                                         {% endfor %}
  163.                                                     </div>
  164.                                                 </div>
  165.                                             </div>
  166.                                         </div>
  167.                                         <!-- Modal -->
  168.                                     </div>
  169.                                 </div>
  170.                                 <div class="d-lg-block d-md-block d-sm-none d-none">
  171.                                     <button class="mx-auto fp-button-show-detail-fiche btn-bg-grey border-grey d-flex text-decoration-none px-2"  data-bs-toggle="modal" data-bs-target="#exampleModalDownloadCatalogue" href="" style="max-width: 260px;">
  172.                                         <div class="text-center text-white fs-12 w-100 fw-600 text-transform-uppercase">
  173.                                             {% trans %}Télécharger le Catalogue{% endtrans %}
  174.                                         </div>
  175.                                         <img class="download-catalog" src="/images/block_products/icon-book.png">
  176.                                     </button>
  177.                                     <!-- Modal -->
  178.                                     <div class="modal fade" id="exampleModalDownloadCatalogue" style="z-index:9999;" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
  179.                                         <div class="modal-dialog">
  180.                                             <div class="modal-content">
  181.                                                 <div class="modal-header">
  182.                                                     <h5 class="modal-title" id="exampleModalDownloadCatalogue">Télécharger le catalogue</h5>
  183.                                                     <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  184.                                                 </div>
  185.                                                 <div class="modal-body text-start">
  186.                                                     {{ form_start(catalogueForm) }}
  187.                                                     {{ form_row(catalogueForm.name) }}
  188.                                                     {{ form_row(catalogueForm.email) }}
  189.                                                     {{ form_row(catalogueForm.phone) }}
  190.                                                     <div class=" text-end">
  191.                                                         <button type="submit" class="btn submit-btn" style="border: 1px solid #048b9a;background: #048b9a;color: white!important;">Envoyer</button>
  192.                                                     </div>
  193.                                                     {{ form_end(catalogueForm) }}
  194.                                                 </div>
  195.                                             </div>
  196.                                         </div>
  197.                                     </div>
  198.                                     {% if produit.categories and produit.categories|length > 0 %}
  199.                                         {% set categ = produit.categories.toArray[0] %}
  200.                                         <div class="mt-2">
  201.                                             <a class="fp-button-add-comparator fs-14 fw-600 text-transform-uppercase" href="{{ path("app_comparateur_set_list", {"id_gamme": categ.id, "id_produit": produit.id}) }}">{% trans %}Ajouter{% endtrans %} {% trans %}au comparateur{% endtrans %}</a>
  202.                                         </div>
  203.                                     {% endif %}
  204.                                 </div>
  205.                             </div>
  206.                         </div>
  207.                     </div>
  208.                 </div>
  209.                 <div class="col-lg-6 col-md-12 col-sm-12 col-12">
  210.                     <div class="row d-lg-flex d-md-flex d-sm-none d-none">
  211.                         {% for categ in categori_parent %}
  212.                             <div class="col-lg-4 col-md-4 col-sm-12 col-12 text-center">
  213.                                 {% if categ.id == categorie_parent_current %}
  214.                                     <a class="categ-btn categ-actif no-wrap text-decoration-none" href="{{ path("app_list_product_per_categ", {"type":'gamme-'~categ.getNameLangue(app.request.locale)|replace({' ':'-'}), "id_categorie":categ.id }) }}">{% trans %}Gamme{% endtrans %} {{ categ.getNameLangue(app.request.locale) }}</a>
  215.                                 {% else %}
  216.                                     <a class="categ-btn categ-inactif no-wrap text-decoration-none" href="{{ path("app_list_product_per_categ", {"type":'gamme-'~categ.getNameLangue(app.request.locale)|replace({' ':'-'}), "id_categorie":categ.id }) }}">{% trans %}Gamme{% endtrans %} {{ categ.getNameLangue(app.request.locale) }}</a>
  217.                                 {% endif %}
  218.                             </div>
  219.                         {% endfor %}
  220.                     </div>
  221.                     {{ form_start(form, {'attr': {'class': 'mt-4 p-4 bg-light'}}) }}
  222.                     <div class="row mt-2">
  223.                         <div class="col-lg-6 col-md-6 col-sm-12 col-12">
  224.                             <div class="d-lg-flex d-md-inline-flex d-sm-block d-block" style="width:100%!important;">
  225.                                 <div class="list-color row ms-1 me-1 d-lg-flex d-md-flex d-sm-none d-none" style="width:100%!important;">
  226.                                     {% set colorDispo = [] %}
  227.                                     {% for keyImage, prodImage in produit.imageProduits %}
  228.                                         {% if prodImage.color and (prodImage.color.type not in colorDispo) %}
  229.                                             {% set colorDispo = colorDispo|merge([prodImage.color.type]) %}
  230.                                             <div id="{{ prodImage.color.id }}" class="color-spa one-color cursor-pointer-color ps-0 pe-0 show_image_with_color" data-id-produit="{{ produit.id }}" data-id-color="{{ prodImage.color.id }}" data-type-color="{{ prodImage.color.type }}" data-url="{{ path("app_fiche_produit_get_by_color_show_images") }}">
  231.                                                 <div class="maron" style="background:{{ prodImage.color.type }}"></div>
  232.                                             </div>
  233.                                         {% endif %}
  234.                                     {% endfor %}
  235.                                 </div>
  236.                             </div>
  237.                             <select name="colors" id="" class="select-fiche col-12 mt-2 select-color color_select d-lg-none d-md-none d-sm-block d-block show_image_with_color_mobil">
  238.                                 {% set colorDispo = [] %}
  239.                                 {% for keyImage, prodImage in produit.imageProduits %}
  240.                                     {% if prodImage.color and (prodImage.color.type not in colorDispo) %}
  241.                                         {% set colorDispo = colorDispo|merge([prodImage.color.type]) %}
  242.                                         <option value="{{ prodImage.color.id }}" data-id-produit="{{ produit.id }}" data-id-color="{{ prodImage.color.id }}" data-type-color="{{ prodImage.color.type }}" data-url="{{ path("app_fiche_produit_get_by_color_show_images") }}">{{ prodImage.color.name }} ({{ prodImage.color.priceTtc }} €)</option>
  243.                                     {% endif %}
  244.                                 {% endfor %}
  245.                             </select>
  246.                             <select name="options[]" id="" class="select-fiche mt-2 col-12 select-option option_select" data-show-subtext="true" multiple>
  247.                                 {% for option in produit.produitOption %}
  248.                                     <option value="{{ option.id }}">{{ option.name }} ({{ option.price }} €)</option>
  249.                                 {% endfor %}
  250.                             </select>
  251.                             <select name="garantie[]" id="" class="select-fiche col-12 mt-2 garantie_select">
  252.                                 {% for garantie in produit.garantie %}
  253.                                     <option value="{{ garantie.id }}">{{ garantie.name }} ({{ garantie.price }} €)</option>
  254.                                 {% endfor %}
  255.                             </select>
  256.                             {% for produitFinition in product_finitions %}
  257.                                 {% if produitFinition.finition is not empty %}
  258.                                     <div data-finition-id="{{ produitFinition.finition.id }}" id="{{ produitFinition.finition.name | lower }}" url-finition="{{ path("app_fiche_produit_get_by_finition", {"id_produit":produitFinition.id, "id_finition":produitFinition.finition.id}) }}" class="updFinition finition-{{ produitFinition.finition.name | lower }} on-click mt-2 d-inline-flex">
  259.                                         <div class="col-8">
  260.                                             <p class="mb-2 title-text-finition">{% trans %}Finitions{% endtrans %} <span>{{ produitFinition.finition.name }}</span></p>
  261.                                             <p class="text-finition mb-0">{{ produitFinition.finition.descriptions }}</p>
  262.                                         </div>
  263.                                         <div class="col-4 my-bottom text-end">
  264.                                             <p class="price-finition mb-0">+ {{ produitFinition.finition.price }} €</p>
  265.                                         </div>
  266.                                     </div>
  267.                                 {% endif %}
  268.                             {% endfor %}
  269.                         </div>
  270.                         <div class="col-lg-6 col-md-6 col-sm-12 col-12 mt-lg-0 mt-md-0 mt-sm-2 mt-2">
  271.                             {% if caracteristique_init %}
  272.                                 {% if caracteristique_init.capaciteSpa %}
  273.                                     <button type="button" class="all-button-right-file-product mt-0 mb-2" style="cursor:auto!important;"><span class="placeAssise">{{ caracteristique_init.capaciteSpa }} place(s) </span></button>
  274.                                 {% endif %}
  275.                                 <button type="button" class="all-button-right-file-product mt-0" style="cursor:auto!important;"><span class="placeAssise">{{ caracteristique_init.placesAssis }} place(s) assise(s) </span></button>
  276.                                 <button type="button" class="all-button-right-file-product mt-2 " style="cursor:auto!important;"><span class="placeAllonge">{{ caracteristique_init.placesAllonge }} place(s) allongée(s)</span></button>
  277.                                 {% if caracteristique_init.cascadeLed %}
  278.                                     <button type="button" class="all-button-right-file-product mt-2 " style="cursor:auto!important;"><span class="cascade">Cascade Inox</span></button>
  279.                                     <div class="d-none">
  280.                                         <div id="mypopover-content2">
  281.                                             <p>La cascade à led qui change de couleur avec lamelle à teflon pour une homogénéité parfaite de la sortie d'eau, vous permettra d'avoir une ambiance zen.</p>
  282.                                         </div>
  283.                                     </div>
  284.                                 {% endif %}
  285.                                 {% if caracteristique_init.nuageLedSole %}
  286.                                     <button type="button" class="all-button-right-file-product mt-2 " style="cursor:auto!important;"><span class="nuage">Nuage au sol</span> {# <span class="show-more example-popover3" title="Nuage au sol">+</span> #}</button>
  287.                                     <div class="d-none">
  288.                                         <div id="mypopover-content3">
  289.                                             <p>This is the custom popover html content that should be inserted into my example popover</p>
  290.                                             <button type="button" class="btn btn-primary">and the button as well</button>
  291.                                         </div>
  292.                                     </div>
  293.                                 {% endif %}
  294.                                 <button type="button" class="all-button-right-file-product mt-2 " style="cursor:auto!important;"><span class="ledPeripherique">{{ caracteristique_init.ledChromaPeripherique }} Leds de périphérie</span>{# <span class="show-more example-popover4" title="Leds de périphérie">+</span> #}</button>
  295.                                 <div class="d-none">
  296.                                     <div id="mypopover-content4">
  297.                                         <p>Les leds de périphérie permettront de faire changer la couleur de l'eau de votre spa à tout moment et de bénéficier d'une ambiance incroyablement relaxante.</p>
  298.                                     </div>
  299.                                 </div>
  300.                                 {# <button type="button" class="all-button-right-file-product mt-2 "><span class="coque">{{ caracteristique_init.coque }}</span><span class="show-more example-popover5" title="Coque">+</span></button>
  301.                                  <div class="d-none">
  302.                                      <div id="mypopover-content5">
  303.                                          <p>Nos spas sont équipés de la meilleure acrylique au monde Aristech, fabrication américaine. Avec notre acrylique vous êtes sur de n'avoir aucun problème dans le temps.</p>
  304.                                      </div>
  305.                                  </div>#}
  306.                             {% endif %}
  307.                             <div class="mt-5-sm ovaina">
  308.                                 <div class="d-lg-block d-md-block d-sm-none d-none">
  309.                                     <button type="button" class="mt-3 d-flex px-2 fp-btn-green w-100 fw-600 text-transform-uppercase" data-bs-toggle="modal" data-bs-target="#exampleModalDevis">
  310.                                         <span class="w-100 fs-12 my-auto">Devis gratuit</span>
  311.                                         <img src="{{ asset('images/block_products/icon-text-edit.png') }}" />
  312.                                     </button>
  313.                                     <!-- Modal -->
  314.                                     <div class="modal fade" id="exampleModalDevis" style="z-index:9999;" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
  315.                                         <div class="modal-dialog">
  316.                                             <div class="modal-content">
  317.                                                 <div class="modal-header">
  318.                                                     <h5 class="modal-title" id="exampleModalLabel">Devis gratuit</h5>
  319.                                                     <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  320.                                                 </div>
  321.                                                 <div class="modal-body">
  322.                                                     {{ form_start(form_order) }}
  323.                                                      <input type="hidden" name="new_line[0][produit]" value="{{ produit.id }}" />
  324.                                                     <input type="hidden" name="new_line[0][couleur]"  />
  325.                                                     <input type="hidden" name="new_line[0][finition]" />
  326.                                                     <div id="devis_opt"><input type="hidden" class="devis_options" name="new_line[0][options][]" /></div>
  327.                                                     <input type="hidden" class="devis_garanties" name="new_line[0][garanties][]" />
  328.                                                     <input type="hidden" name="new_line[0][qty]" value="1" />
  329.                                                     <div class="row" style="margin-top: 5px;">
  330.                                                         <div class="col-lg-4 col-md-6">
  331.                                                             {{ form_row(form_order.shippingAddress.firstname) }}
  332.                                                         </div>
  333.                                                         <div class="col-lg-4 col-md-6">
  334.                                                             {{ form_row(form_order.shippingAddress.lastname1) }}
  335.                                                         </div>
  336.                                                         <div class="col-lg-4 col-md-6">
  337.                                                             {{ form_row(form_order.shippingAddress.lastname2) }}
  338.                                                         </div>
  339.                                                     </div>
  340.                                                     <div class="row mt-2">
  341.                                                         <div class="col-lg-6 col-md-6">
  342.                                                             {{ form_row(form_order.email) }}
  343.                                                         </div>
  344.                                                         <div class="col-lg-6 col-md-6">
  345.                                                             {{ form_row(form_order.shippingAddress.phone) }}
  346.                                                         </div>
  347.                                                     </div>
  348.                                                     <div class="row mt-2">
  349.                                                         <div class="col-lg-6 col-md-6">
  350.                                                             {{ form_row(form_order.shippingAddress.postalCode) }}
  351.                                                         </div>
  352.                                                         <div class="col-lg-6 col-md-6">
  353.                                                             {{ form_row(form_order.shippingAddress.street) }}
  354.                                                         </div>
  355.                                                         <div class="col-lg-4 d-none">
  356.                                                             {{ form_row(form_order.shippingAddress.state) }}
  357.                                                         </div>
  358.                                                     </div>
  359.                                                     <div class="row mt-2">
  360.                                                         <div class="col-lg-6 col-md-6">
  361.                                                             {{ form_row(form_order.shippingAddress.country) }}
  362.                                                         </div>
  363.                                                         <div class="col-lg-6 col-md-6">
  364.                                                             {{ form_row(form_order.shippingAddress.city) }}
  365.                                                         </div>
  366.                                                     </div>
  367.                                                     <div class="row mt-2 justify-content-center">
  368.                                                         <button type="submit" class="mt-4 mb-2 fp-btn-green">Envoyer</button>
  369.                                                     </div>
  370.                                                     {{ form_end(form_order) }}
  371.                                                 </div>
  372.                                             </div>
  373.                                         </div>
  374.                                     </div>
  375.                                     {{ form_start(form) }}
  376.                                         {{ form_widget(form.add, {'attr': {'class': 'mt-2 d-flex px-2 fp-button-show-detail-fiche w-100 fw-600 fs-12 bg-orange border-orange text-white fs-12 text-transform-uppercase'}}) }}
  377.                                         {{ form_widget(form.quantity) }}
  378.                                         <input type="hidden" name="color" value="">
  379.                                         <input type="hidden" name="finition" value="">
  380.                                         <input type="hidden" id="cart_garantie" name="garantie[]" value="">
  381.                                         <input type="hidden" id="cart_options" class="cart_options" name="options[]" value="">
  382.                                     {{ form_end(form) }}
  383.                                     <div class="download_notice">
  384.                                         <a class="mb-0 text-decoration-underline" href="#">{% trans %}Télécharger la notice </br>de pré-installation{% endtrans %}  <span class="ms-1"><img class="ml-1" style="margin-bottom: 3px!important;height: 15px;width: 18px;" src="{{ asset("/images/block_products/download.webp") }}" alt="download"></span></a>
  385.                                     </div>
  386.                                 </div>
  387.                                 <input type="hidden" name="color" value="">
  388.                                 <input type="hidden" name="finition" value="">
  389.                                 <div class="container-fluid d-lg-none d-md-none d-sm-block d-block">
  390.                                     <button class="mx-auto fp-button-show-detail-fiche btn-bg-grey border-grey d-flex text-decoration-none px-2"  data-bs-toggle="modal" data-bs-target="#exampleModalDownloadCatalogueMobile">
  391.                                         <div class="text-center text-white fs-12 w-100 fw-600 text-transform-uppercase">
  392.                                             {% trans %}Télécharger le Catalogue{% endtrans %}
  393.                                         </div>
  394.                                         <img class="download-catalog" src="/images/block_products/icon-book.png">
  395.                                     </button>
  396.                                     <!-- Modal -->
  397.                                     <div class="modal fade" id="exampleModalDownloadCatalogueMobile" style="z-index:9999;" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
  398.                                         <div class="modal-dialog">
  399.                                             <div class="modal-content">
  400.                                                 <div class="modal-header">
  401.                                                     <h5 class="modal-title" id="exampleModalDownloadCatalogue">Télécharger le catalogue</h5>
  402.                                                     <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  403.                                                 </div>
  404.                                                 <div class="modal-body text-start">
  405.                                                     {{ form_start(catalogueMobileForm) }}
  406.                                                     {{ form_row(catalogueMobileForm.name) }}
  407.                                                     {{ form_row(catalogueMobileForm.email) }}
  408.                                                     {{ form_row(catalogueMobileForm.phone) }}
  409.                                                     <div class=" text-end">
  410.                                                         <button type="submit" class="btn submit-btn" style="border: 1px solid #048b9a;background: #048b9a;color: white!important;">Envoyer</button>
  411.                                                     </div>
  412.                                                     {{ form_end(catalogueMobileForm) }}
  413.                                                 </div>
  414.                                             </div>
  415.                                         </div>
  416.                                     </div>
  417.                                     <div class="mt-3 mb-3">
  418.                                         <button type="button" class="d-flex px-2 fp-btn-green w-100 fw-600 demandeDevis text-transform-uppercase">
  419.                                             <span class="w-100 fs-12 my-auto">Devis gratuit</span>
  420.                                             <img src="{{ asset('images/block_products/icon-text-edit.png') }}" />
  421.                                         </button>
  422.                                     </div>
  423.                                     <div class="download_notice">
  424.                                         <a class="mb-0 text-decoration-underline" href="#">{% trans %}Télécharger la notice </br>de pré-installation{% endtrans %}  <span class="ms-1"><img class="ml-1" style="margin-bottom: 3px!important;height: 15px;width: 18px;" src="{{ asset("/images/block_products/download.webp") }}" alt="download"></span></a>
  425.                                     </div>
  426.                                 </div>
  427.                             </div>
  428.                         </div>
  429.                     </div>
  430.                     {{ form_end(form) }}
  431.                 </div>
  432.             </div>
  433.         </div>
  434.         <div class="container ps-lg-0 ps-md-0 ps-sm-5 ps-5 pe-lg-0 pe-md-0 pe-sm-5 pe-5 mt-lg-4 mt-md-4 mt-sm-0 mt-0">
  435.             <div class="row mb-3">
  436.                 <div class="col-lg-5 col-md-5 col-sm-12 col-12"><h3 class="mb-0">{% trans %}Caractéristiques Complètes{% endtrans %}</h3></div>
  437.                 <div class="col-lg-7 col-md-7 col-sm-12 col-12 my-auto d-lg-block d-md-block d-sm-none d-none">
  438.                     <div class="row">
  439.                         {#                        <div class="col-lg-5 col-md-5 col-sm-12 col-12 text-end"><p class="mb-0 text-decoration-underline">{% trans %}Télécharger notre Catalogue{% endtrans %} <span class=""><img width="17px" height="17px" class="ml-1" src="{{ asset("/images/block_products/donwload.png") }}" alt="download"></span></p></div>#}
  440.                         {#                        <div class="col-lg-7 col-md-7 col-sm-12 col-12 text-end"><p class="mb-0 text-decoration-underline">{% trans %}Télécharger la notice de pré-installation{% endtrans %}  <span class=""><img width="17px" height="17px" class="ml-1" src="{{ asset("/images/block_products/donwload.png") }}" alt="download"></span></p></div>#}
  441.                     </div>
  442.                 </div>
  443.             </div>
  444.             <div class="row">
  445.                 <div class="col-lg-4 col-md-4 col-sm-12 col-12 caracteristic">
  446.                     {% if caracteristique_init %}
  447.                         <ul>
  448.                             {% if caracteristique_init.gamme %}
  449.                                 <li>Gamme : {{ caracteristique_init.gamme|upper }}</li>
  450.                             {% endif %}
  451.                             <li>Capacité du spa : <span>{% if caracteristique_init.capaciteSpa %}
  452.                                         {{ caracteristique_init.capaciteSpa }}
  453.                                     {% endif %} place(s)</span>
  454.                                 <ol>
  455.                                     {% if caracteristique_init.placesAssis %}
  456.                                         <li>{{ caracteristique_init.placesAssis }} Place(s) assise(s)</li>
  457.                                     {% endif %}
  458.                                     {% if caracteristique_init.placesAllonge %}
  459.                                         <li>{{ caracteristique_init.placesAllonge }} Place(s) allongée(s)</li>
  460.                                     {% endif %}
  461.                                     {% if caracteristique_init.placeSemiAllonges %}
  462.                                         <li>{{ caracteristique_init.placeSemiAllonges }} Place(s) semi allongée(s)</li>
  463.                                     {% endif %}
  464.                                     {% if caracteristique_init.placeLevitation %}
  465.                                         <li>{{ caracteristique_init.placeLevitation }} Place(s) en lévitation</li>
  466.                                     {% endif %}
  467.                                 </ol>
  468.                             </li>
  469.                             {% if caracteristique_init.dimensions %}
  470.                                 <li>Dimensions : {{ caracteristique_init.dimensions }}</li>
  471.                             {% endif %}
  472.                             {% if caracteristique_init.conditionnement %}
  473.                                 <li>Conditionnement : {{ caracteristique_init.conditionnement }}</li>
  474.                             {% endif %}
  475.                             {% if caracteristique_init.volume %}
  476.                                 <li>Volume : {{ caracteristique_init.volume }} L</li>
  477.                             {% endif %}
  478.                             {% if caracteristique_init.poids %}
  479.                                 <li>Poids : {{ caracteristique_init.poids }} Kg</li>
  480.                             {% endif %}
  481.                             {% if caracteristique_init.jetsTherapie %}
  482.                                 <li>Jets thérapie  : {{ caracteristique_init.jetsTherapie }}</li>
  483.                             {% endif %}
  484.                             {% if caracteristique_init.jetsAir %}
  485.                                 <li>Jets d'air  : {{ caracteristique_init.jetsAir }}</li>
  486.                             {% endif %}
  487.                             {% if caracteristique_init.jetsEau %}
  488.                                 <li>Jets d'eau  : {{ caracteristique_init.jetsEau }}</li>
  489.                             {% endif %}
  490.                             {% if caracteristique_init.jetsMassageCervical and caracteristique_init.jetsMassageCervical is not empty %}
  491.                                 <li>Jets pour massage cervical</li>
  492.                             {% endif %}
  493.                             {% if caracteristique_init.turboJetsMollets and caracteristique_init.turboJetsMollets is not empty  %}
  494.                                 <li>Turbo Jets</li>
  495.                             {% endif %}
  496.                             {% if caracteristique_init.finitionBuses and caracteristique_init.finitionBuses  %}
  497.                                 <li>Finition des buses : {{ caracteristique_init.finitionBuses|capitalize }}</li>
  498.                             {% endif %}
  499.                         </ul>
  500.                     {% endif %}
  501.                 </div>
  502.                 <div class="col-lg-4 col-md-4 col-sm-12 col-12 caracteristic">
  503.                     {% if caracteristique_init %}
  504.                         <ul>
  505.                             {% if caracteristique_init.enceinteAvecLeds and caracteristique_init.enceinteAvecLeds is not empty %}
  506.                                 <li>Enceinte(s) avec leds : {{ caracteristique_init.enceinteAvecLeds }}</li>
  507.                             {% endif %}
  508.                             {% if caracteristique_init.enceinteSansLeds and  caracteristique_init.enceinteSansLeds is not empty %}
  509.                                 <li>Enceinte(s) sans leds : {{ caracteristique_init.enceinteSansLeds }}</li>
  510.                             {% endif %}
  511.                             {% if caracteristique_init.appuisTete and caracteristique_init.appuisTete is not empty %}
  512.                                 <li>Appui-tête(s) confortable(s)</li>
  513.                             {% endif %}
  514.                             {% if caracteristique_init.radio and caracteristique_init.radio == true %}
  515.                                 <li>Poste Radio</li>
  516.                             {% endif %}
  517.                             {% if caracteristique_init.translate.commandeADistance and caracteristique_init.translate.commandeADistance == true %}
  518.                                 <li>Commande à distance : {{ caracteristique_init.translate.commandeADistance }}</li>
  519.                             {% endif %}
  520.                             {% if caracteristique_init.translate.bluetooth and caracteristique_init.translate.bluetooth is not empty
  521.                             %}                                <li>Bluetooth : {{ caracteristique_init.translate.bluetooth  }}</li>
  522.                             {% endif %}
  523.                             {% if caracteristique_init.translate.wifi and caracteristique_init.translate.wifi is not empty %}
  524.                                 <li>Wifi : {{ caracteristique_init.translate.wifi  }}</li>
  525.                             {% endif %}
  526.                             {% if caracteristique_init.ledChromaPeripherique and caracteristique_init.ledChromaPeripherique == true %}
  527.                                 <li>Leds chromatiques périphériques : {{ caracteristique_init.ledChromaPeripherique }}</li>
  528.                             {% endif %}
  529.                             {% if caracteristique_init.grosSpotLeds and caracteristique_init.grosSpotLeds is not empty %}
  530.                                 <li>Gros spot avec led chromotherapie : {{ caracteristique_init.grosSpotLeds }}</li>
  531.                             {% endif %}
  532.                             {% if caracteristique_init.aromatherapie and  caracteristique_init.aromatherapie == true %}
  533.                                 <li>Système d'Aromathérapie</li>
  534.                             {% endif %}
  535.                             {% if caracteristique_init.cascadeLed and caracteristique_init.cascadeLed == true %}
  536.                                 <li>Cascade avec leds</li>
  537.                             {% endif %}
  538.                             {% if caracteristique_init.cascadeNonLeds and caracteristique_init.cascadeNonLeds == true %}
  539.                                 <li>Cascade non leds</li>
  540.                             {% endif %}
  541.                             {% if caracteristique_init.fontaineEauLumineuse and caracteristique_init.fontaineEauLumineuse == true %}
  542.                                 <li>Fontaines rétractables avec leds</li>
  543.                             {% endif %}
  544.                             {% if caracteristique_init.colonneEauLumineuse and caracteristique_init.colonneEauLumineuse == true %}
  545.                                 <li>Colonne d'eau leds</li>
  546.                             {% endif %}
  547.                         </ul>
  548.                     {% endif %}
  549.                 </div>
  550.                 <div class="col-lg-4 col-md-4 col-sm-12 col-12 caracteristic">
  551.                     {% if caracteristique_init %}
  552.                         <ul>
  553.                             {% if caracteristique_init.nuageLedSole and caracteristique_init.nuageLedSole == true %}
  554.                                 <li>Nuage leds au sol</li>
  555.                             {% endif %}
  556.                             {% if caracteristique_init.angleLeds and caracteristique_init.angleLeds == true %}
  557.                                 <li>Angle avec leds</li>
  558.                             {% endif %}
  559.                             {% if caracteristique_init.spotArcEnCiel and  caracteristique_init.spotArcEnCiel == true %}
  560.                                 <li>Spot Arc-en-ciel</li>
  561.                             {% endif %}
  562.                             {% if caracteristique_init.pompePressionWhirlpool and caracteristique_init.pompePressionWhirlpool is not empty %}
  563.                                 <li>Pompes de pression : {{ caracteristique_init.pompePressionWhirlpool }}</li>
  564.                             {% endif %}
  565.                             {% if caracteristique_init.pompeFiltrationWhirlpool and caracteristique_init.pompeFiltrationWhirlpool is not empty %}
  566.                                 <li>Pompe de filtration : {{ caracteristique_init.pompeFiltrationWhirlpool }}</li>
  567.                             {% endif %}
  568.                             {% if caracteristique_init.translate.pompesAAir and caracteristique_init.translate.pompesAAir is not empty %}
  569.                                 <li>Blowers (pompe à air) : {{ caracteristique_init.translate.pompesAAir }}</li>
  570.                             {% endif %}
  571.                             {% if caracteristique_init.translate.puissanceRechauffeur and caracteristique_init.translate.puissanceRechauffeur is not empty %}
  572.                                 <li>Réchauffeur(s) : {{ caracteristique_init.translate.puissanceRechauffeur }}</li>
  573.                             {% endif %}
  574.                             {% if caracteristique_init.systemeAntigel and caracteristique_init.systemeAntigel == true %}
  575.                                 <li>Système antigel</li>
  576.                             {% endif %}
  577.                             {% if caracteristique_init.chassisInoxIndestructible and caracteristique_init.chassisInoxIndestructible == true %}
  578.                                 <li>Châssis Inox indestructible</li>
  579.                             {% endif %}
  580.                             {% if caracteristique_init.chassisAcierGalvanise and caracteristique_init.chassisAcierGalvanise == true %}
  581.                                 <li>Chassis en acier galvanisé</li>
  582.                             {% endif %}
  583.                             {% if caracteristique_init.translate.isolationThermoISO14000 and caracteristique_init.translate.isolationThermoISO14000 is not empty %}
  584.                                 <li>Socle isolation thermique : {{ caracteristique_init.translate.isolationThermoISO14000 }}</li>
  585.                             {% endif %}
  586.                             {% if caracteristique_init.socleIsolationThermique and caracteristique_init.socleIsolationThermique == true %}
  587.                                 <li>Isolation thermo-réfléchissante ISO 14000</li>
  588.                             {% endif %}
  589.                             {% if caracteristique_init.prixPublicConseille and  caracteristique_init.prixPublicConseille  is not empty %}
  590.                                 <li>Prix Public conseillé  : {{ caracteristique_init.prixPublicConseille|number_format(0, ',', ' ') }} €</li>
  591.                             {% endif %}
  592.                         </ul>
  593.                     {% endif %}
  594.                 </div>
  595.             </div>
  596.         </div>
  597.         <div class="container d-lg-block d-md-block d-sm-none d-none mb-3">
  598.             <div class="row">
  599.                 <div class="mt-2 text-end-show-more">
  600.                     <p class="mb-1">* Option alutech, le prix fabricant est basé sur cette version</p>
  601.                     <p class="mb-1">** Photos non contractuelles, les couleurs affichées peuvent différer des finitions réelles, elles sont données à titre indicatif et peuvent varier selon la qualité des écrans ou des ordinateurs et mobiles utilisés. Le fabricant peut modifier les teintes sans préavis.</p>
  602.                 </div>
  603.             </div>
  604.         </div>
  605.     </div>
  606.     <div class="container d-lg-none d-md-none d-sm-block d-block mb-2">
  607.         <div class="row">
  608.             <div class="mt-2 text-end-show-more">
  609.                 <p class="mb-1">* Option alutech, le prix fabricant est basé sur cette version</p>
  610.                 <p class="mb-1">** Photos non contractuelles, les couleurs affichées peuvent différer des finitions réelles, elles sont données à titre indicatif et peuvent varier selon la qualité des écrans ou des ordinateurs et mobiles utilisés. Le fabricant peut modifier les teintes sans préavis.</p>
  611.             </div>
  612.         </div>
  613.     </div>
  614.     <div class="container-fluid bg-black-grey pt-4 pb-4 d-lg-none d-md-none d-sm-block d-block">
  615.         <div class="container">
  616.             <div class="container ps-5 pe-5">
  617.                 <div class="col-12 mb-3">
  618.                     {{ form_start(formMobile, {'attr': {'class': 'd-lg-none d-md-none d-sm-block d-block'}}) }}
  619.                     <div class="form-group">
  620.                         {{ form_widget(formMobile.quantity) }}
  621.                     </div>
  622.                     <div class="">
  623.                         {{ form_widget(formMobile.add, {'attr': {'class': 'mt-2 d-flex px-2 fp-button-show-detail-fiche w-100 fw-600 fs-12 bg-orange border-orange text-white fs-12 text-transform-uppercase'}}) }}
  624.                     </div>
  625.                     {{ form_end(formMobile) }}
  626.                 </div>
  627.                 <div class="col-12">
  628.                     <button class="w-100 panier-button-white text-transform-uppercase redirection_comparator_mobil" data-link="{{ path("app_comparateur_set_list", {"id_gamme": categ.id, "id_produit": produit.id}) }}">{% trans %}Ajouter{% endtrans %} {% trans %}au comparateur{% endtrans %}</button>
  629.                 </div>
  630.             </div>
  631.         </div>
  632.     </div>
  633. {% endblock %}
  634. {% block footer %}
  635.     <div class="container-fluid avis background-black pt-4 pb-4 mt-2">
  636.         <div>
  637.             <h3 class="text-white text-center mb-0">{% trans %}Avis Clients{% endtrans %}</h3>
  638.             <p class="grey-white text-center"><i>{% trans %}Ils ont fait confiance à{% endtrans %} SPA.BIZ</i></p>
  639.         </div>
  640.         <div class="center position-relative">
  641.             {% for avisClient in produit.getAvisClients %}
  642.                 <div class="col-lg-4 col-12">
  643.                     <div class="row">
  644.                         <div class="col-lg-6 col-4 my-auto">
  645.                             <div class="float-end width-image-avis" style="background-repeat: no-repeat;background-position: center;background-size: cover;background-image: url('{{ asset("images/avis_clients/"~avisClient.image) }}')">
  646.                             </div>
  647.                         </div>
  648.                         <div class="col-lg-6 col-8">
  649.                             <div class="text-white fs-14">{{ avisClient.descriptions }}</div>
  650.                             <div class="text-white fs-14 mt-3">{{ avisClient.name }}, {{ avisClient.age }} ans</div>
  651.                             <div class="note-color">à attribué la note de {{ avisClient.note }} sur 5</div>
  652.                         </div>
  653.                     </div>
  654.                 </div>
  655.             {% endfor %}
  656.         </div>
  657.     </div>
  658. {% endblock %}
  659. {% block javascripts %}
  660.     {{ parent() }}
  661.     <script>
  662.         $(document).on( "click", ".color-spa", function() {
  663.             $("form input[name='color']").val($(this).attr('id'));
  664.             $("form input[name='new_line[0][couleur]']").val($(this).attr('id'));
  665.         });
  666.         $(document).on( "click", ".updFinition", function() {
  667.             $("form input[name='finition']").val($(this).attr('data-finition-id'));
  668.             $("form input[name='new_line[0][finition]']").val($(this).attr('data-finition-id'));
  669.         });
  670.         $(document).on( "change", ".select-option", function() {
  671.             $(".devis_options").remove();
  672.             $(".cart_options").remove();
  673.             var opts = $(this).find("option:selected");
  674.             opts.each(function(i){
  675.                 var val = $(this).val();
  676.                 $('#devis_opt').append('<input type="hidden" class="devis_options" name="new_line[0][options][]"  value="'+val+'">');
  677.                 $('form[name="add_to_cart"]').append('<input type="hidden"  class="cart_options" name="options[]" value="'+val+'">');
  678.             });
  679.         });
  680.         $(document).on( "change", ".garantie_select", function() {
  681.             var opt = $(this).find("option:selected").val();
  682.             $(".devis_garanties").val(opt);
  683.             $("form input[id='cart_garantie']").val(opt);
  684.         });
  685.         $(document).on('click', '.demandeDevis', function(e){
  686.             e.stopPropagation();
  687.             const form = document.querySelector('form');
  688.             const data = new URLSearchParams(new FormData(form).entries());
  689.             var url = "{{ path('app.devis')}}?produit_id={{ produit.id }}&"+data;
  690.             window.location = url;
  691.         });
  692.     </script>
  693. {% endblock %}