templates/products/details.html.twig line 1

Open in your IDE?
  1. {% extends "base.html.twig" %}
  2. {% block title %}Détails de
  3.     {{ product.name }}
  4. {% endblock %}
  5. {% block body %}
  6.     <style>
  7.     body {
  8.         font-family: Varela,sans-serif;
  9.         color: #2b4b78;
  10.     }
  11.     .container {
  12.         padding-right:85px;
  13.         padding-left:85px;
  14.         background-color: #FFF;
  15.     }
  16.     h1 {
  17.         font-family: "Montserrat", sans-serif;
  18.         font-size:26pt;
  19.         font-weight:bold;
  20.         color:#003c8c;
  21.     }
  22.     h2 {
  23.         font-family: "Montserrat", sans-serif;
  24.         font-size:20pt;
  25.         font-weight:normal !important;
  26.         color:#003c8c;
  27.     }
  28.     h3 {
  29.         color:#003c8c;
  30.     }
  31.     .ariane {
  32.         padding-top:25px;
  33.         padding-bottom:25px;
  34.         font-family: "Montserrat", sans-serif;
  35.         -webkit-font-smoothing: antialiased;
  36.     }
  37.     .ariane A {
  38.         padding-top:25px;
  39.         padding-bottom:25px;
  40.         font-family: "Montserrat", sans-serif;
  41.         text-decoration:underline !important;
  42.         font-size: 16px !important;
  43.         color: #161d3f !important;
  44.         font-weight: 500 !important;
  45.     }
  46.     .arianeEnd {
  47.         color:#006ec8;
  48.         font-family: "Montserrat", sans-serif;
  49.         font-size: 16px !important;
  50.         font-weight: 500 !important;
  51.     }
  52.     .headerTxt, .headerTxt p {
  53.         font-size:16pt !important;
  54.         font-family: "Montserrat", sans-serif!important;
  55.         color:#003c8c !important;
  56.         font-weight: 400 !important;
  57.     }
  58.     .mainReference {
  59.         font-family: "Montserrat", sans-serif;
  60.         background-color: #003c8c;
  61.         color:#FFF;
  62.         padding:5px;
  63.         font-size:22pt;
  64.         /* En `inline`, un retour à la ligne coupe le fond en escalier. */
  65.         display: inline-block;
  66.     }
  67.     /* ─── Mise en page principale : contenu produit + encart client ───
  68.        Reprend à l'identique ce qui était écrit en `style=""` sur les trois
  69.        balises, pour que le mobile puisse le surcharger. */
  70.     .product-layout {
  71.         display: flex;
  72.         flex-wrap: nowrap;
  73.         align-items: flex-start;
  74.         gap: 24px;
  75.         padding: 0;
  76.         margin: 0;
  77.     }
  78.     .product-main {
  79.         flex: 1 1 0%;
  80.         min-width: 0;
  81.         padding: 0;
  82.     }
  83.     .product-aside {
  84.         width: 280px;
  85.         flex: 0 0 280px;
  86.         padding: 0;
  87.     }
  88.     /* ─── Mobile et tablette ───
  89.        Seuil 1184px, celui du thème. L'encart figé à 280px ne laissait que 90px
  90.        au contenu sur un écran de 412px : titre, description et référence
  91.        tombaient à un mot par ligne. */
  92.     @media screen and (max-width: 1184px) {
  93.         .product-layout {
  94.             flex-wrap: wrap;
  95.             gap: 16px;
  96.         }
  97.         .product-main,
  98.         .product-aside {
  99.             width: 100%;
  100.             flex: 1 1 100%;
  101.         }
  102.         /* L'encart porte les tarifs et l'ajout au panier : le renvoyer sous le
  103.            contenu produit — description, carrousel puis onglets — le placerait
  104.            hors de portée. Il reste donc en tête, comme il l'est déjà en haut à
  105.            droite sur desktop. */
  106.         .product-aside {
  107.             order: -1;
  108.         }
  109.         .mainReference {
  110.             font-size: 15pt;
  111.         }
  112.         /* Tableaux « Produits de la gamme » et assimilés : leur largeur est dictée
  113.            par le contenu — mesuré à 443px pour un écran de 412px — et la colonne
  114.            de droite était donc tronquée. `overflow-x: hidden` sur le body, qui
  115.            évite la barre de défilement horizontale de la page, rendait en plus ce
  116.            débordement définitivement inatteignable.
  117.            `display: block` fait du tableau son propre conteneur de défilement :
  118.            la page ne bouge pas, seul le tableau se fait glisser du doigt. */
  119.         .productTable {
  120.             display: block;
  121.             overflow-x: auto;
  122.             max-width: 100%;
  123.             -webkit-overflow-scrolling: touch;
  124.         }
  125.         /* Le carrousel porte `width:auto` en ligne : sans plafond, une image
  126.            plus large que l'écran est rognée. */
  127.         .carousel-inner img {
  128.             max-width: 100%;
  129.             height: auto;
  130.         }
  131.         #carouselExampleIndicators {
  132.             width: 100% !important;
  133.         }
  134.     }
  135.     .tabcontent, .tabcontent p{
  136.         font-size:12pt !important;
  137.         font-family: "Montserrat", sans-serif!important;
  138.         color:#003c8c !important;
  139.     }
  140.     .spacerTop {
  141.         margin-top:15px
  142.     }
  143.     .options {
  144.         font-family: "Montserrat", sans-serif;
  145.         font-size:13pt;
  146.         color:#003c8c;
  147.         font-weight:bold;
  148.         border-bottom: solid 1px #78c8e6;
  149.     }
  150.         .collapsible {
  151.             background-color: #FFF;
  152.             font-family: "Montserrat", sans-serif;
  153.             font-size:13pt;
  154.             color:#003c8c;
  155.             cursor: pointer;
  156.             padding: 18px;
  157.             width: 100%;
  158.             border: none;
  159.             text-align: left;
  160.             outline: none;
  161.         }
  162.         .activeCollapsible, .collapsible:hover {
  163.             font-weight: bolder;
  164.         }
  165.         .collapsible:after {
  166.             content: '\002B';
  167.             color: #003c8c;
  168.             font-weight: bold;
  169.             float: right;
  170.             margin-left: 5px;
  171.         }
  172.         .activeCollapsible:after {
  173.             content: "\2212";
  174.         }
  175.         .content {
  176.             padding: 0 18px;
  177.             max-height: 0;
  178.             overflow: hidden;
  179.             transition: max-height 0.2s ease-out;
  180.         }
  181.         .productTable {
  182.             font-family: "Montserrat", sans-serif;
  183.             font-size:10pt;
  184.             color:#505050;
  185.             background-color:#FFF;
  186.             border-spacing : 2px;
  187.             border-collapse: separate;
  188.         }
  189.         .productTable TH {
  190.             background-color:#e5e5e5;
  191.             text-align: center;
  192.             padding:3px;
  193.             font-weight:bold;
  194.         }
  195.         .productTable TD {
  196.             margin:2px;
  197.             text-align: center;
  198.             border-bottom: solid 1px #e5e5e5;
  199.             padding: 5px;
  200.         }
  201.         .productTable TR {
  202.             border-bottom: solid 1px #e5e5e5;
  203.         }
  204.         #menu-item-153 {
  205.             position: relative; /* Nécessaire pour positionner le trait en bas de l'élément */
  206.         }
  207.         #menu-item-153::after {
  208.             content: "";
  209.             display: block;
  210.             width: 100%;
  211.             height: 3px;
  212.             background-color: #006ec8;
  213.             position: absolute;
  214.             bottom: 0;
  215.             left: 0;
  216.         }
  217.         #navbar-underline {
  218.             display:none;
  219.         }
  220.         .user-box {
  221.             border: 2px solid #006ec8;
  222.             border-radius: 10px;
  223.             padding: 20px;
  224.             background-color: #f8fbff;
  225.             color: #003c8c;
  226.             font-family: "Montserrat", sans-serif;
  227.             box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  228.             margin-top: 30px;
  229.         }
  230.         .user-box h3 {
  231.             border-bottom: 1px solid #006ec8;
  232.             padding-bottom: 10px;
  233.             margin-bottom: 15px;
  234.             font-size: 18pt;
  235.             color: #003c8c;
  236.         }
  237.         /* Ligne tarif + ajout au panier */
  238.         .user-box .tarif-line {
  239.             border: 1px solid #d6e6f5;
  240.             border-radius: 8px;
  241.             padding: 10px 12px;
  242.             margin-bottom: 10px;
  243.             background: #fff;
  244.         }
  245.         .user-box .tarif-label {
  246.             font-size: 0.82rem;
  247.             font-weight: 600;
  248.             line-height: 1.3;
  249.             margin-bottom: 6px;
  250.         }
  251.         .user-box .tarif-price { font-size: 1.05rem; margin-bottom: 8px; }
  252.         .user-box .tarif-public {
  253.             color: #9aa8b5;
  254.             font-size: 0.8rem;
  255.             line-height: 1.3;
  256.             margin-bottom: 2px;
  257.         }
  258.         .user-box .tarif-src { font-size: 0.7rem; color: #198754; }
  259.         .user-box .tarif-form { display: flex; gap: 6px; align-items: center; }
  260.         .user-box .tarif-qty {
  261.             width: 62px;
  262.             text-align: right;
  263.             padding: 0.25rem 0.4rem !important;
  264.             font-size: 0.85rem;
  265.         }
  266.         .user-box .tarif-form .btn { flex: 1; font-size: 0.8rem; white-space: nowrap; }
  267.         .user-box .tarif-note { font-size: 0.74rem; color: #b02a37; }
  268.         .contact-section {
  269.             border: 2px solid #006ec8;
  270.             border-radius: 10px;
  271.             padding: 15px;
  272.             background-color: #f8fbff;
  273.         }
  274.         .contact-section h3 {
  275.             color: #003c8c;
  276.             font-size: 18pt;
  277.             margin-bottom: 15px;
  278.         }
  279.         ul li {
  280.             color:#0d3b79 !important;
  281.         }
  282.     </style>
  283.     <main class="container padding-header">
  284.         {# Mise en page en classes et non en styles en ligne : une déclaration
  285.            `!important` en attribut `style` l'emporte sur toute feuille de style,
  286.            y compris `!important`. Le `flex-wrap: nowrap` écrit ici était donc
  287.            impossible à neutraliser en mobile, où l'encart figé à 280px ne
  288.            laissait que 90px au contenu produit sur un écran de 412px. #}
  289.         <section class="row product-layout">
  290.             <div class="col-md-9 product-main">
  291.             <div class="ariane col-12">
  292.                     <span>
  293.                         <a href="https://lelorrain.fr/">Accueil</a> /
  294.                         {% if product.categorie1 != null %}{{ product.categorie1|raw }} / {% endif %}
  295.                         {% if product.categorie2 != null %}{{ product.categorie2|raw }} / {% endif %}
  296.                         {% if product.categorie3 != null %}{{ product.categorie3|raw }} / {% endif %}
  297.                         {% if product.derniereCategorie != null %}<span class="arianeEnd">{{ product.derniereCategorie|raw }}</span>{% endif %}
  298.                     </span>
  299.             </div>
  300.             <div class="col-12 spacerTop">
  301.             {% set _ = productsSources|length %}
  302.             
  303.                 {% if productsSources|length > 0 %}
  304.                 <h1><span class="souligne-title">{{ product.title }}</span></h1>
  305.                 {% else %}
  306.                 <h1><span class="souligne-title">{{ product.name }}</span></h1>
  307.                 {%  endif %}
  308.             </div>
  309.             <div class="col-12 spacerTop">
  310.                 {% if productsSources|length > 0 %}
  311.                 <div class="headerTxt">{{ product.subTitle }}</div>
  312.                 {% else %}
  313.                 <div class="headerTxt">{{ product.header|raw }}</div>
  314.                 {%  endif %}
  315.                 
  316.             </div>
  317.             <div class="col-12 spacerTop">
  318.                 <span class="mainReference">REF. {{ product.mainReference }}</span>
  319.             </div>
  320.             <div class="col-12 spacerTop">
  321.                 <div id="carouselExampleIndicators" class="carousel slide" data-bs-ride="carousel" style="width:80%;height:auto;">
  322.                     <div class="carousel-indicators">
  323.                         {% for iteration in 1..product.images|length %}
  324.                             <button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="{{ iteration - 1 }}" {{ (loop.first ) ?'class="active" aria-current="true"' : '' }} aria-label="Slide {{ iteration }}"></button>
  325.                         {% endfor %}
  326.                     </div>
  327.                     <div class="carousel-inner">
  328.                         {% for image in product.images %}
  329.                             <div class="carousel-item {{ (loop.first ) ? 'active' : '' }}">
  330.                                 <img src="{{ asset('assets/uploads/products/mini/') ~ image.name }}" class="d-block" alt="{{ product.name }}" style="width:auto;max-height:275px;">
  331.                             </div>
  332.                         {% endfor %}
  333.                     </div>
  334.                     {%  if product.images|length > 1 %}
  335.                     <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="prev">
  336.                         <span class="carousel-control-prev-icon" aria-hidden="true"></span>
  337.                         <span class="visually-hidden">Previous</span>
  338.                     </button>
  339.                     <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="next">
  340.                         <span class="carousel-control-next-icon" aria-hidden="true"></span>
  341.                         <span class="visually-hidden">Next</span>
  342.                     </button>
  343.                     {%  endif %}
  344.                 </div>
  345.             </div>
  346.             {% set hasDescription = product.description is not empty and product.description != product.slug %}
  347.             <div class="tab">
  348.                 {% if hasDescription %}<button class="tablinks" onclick="openTab(event, 'descriptionProduit')" id="defaultOpen">Description Produit</button>{% endif %}
  349.                 {% if product.donneesTechniques is not empty %} <button class="tablinks" onclick="openTab(event, 'donneesTechniques')" {% if not hasDescription %} id="defaultOpen" {% endif %}>Données techniques</button> {% endif %}
  350.                 {% if product.videoProduit is not empty %}  <button class="tablinks" onclick="openTab(event, 'videoProduit')">Vidéo produit</button> {% endif %}
  351.             </div>
  352.             {% if product.description is not empty and product.description != product.slug %}
  353.             <div id="descriptionProduit" class="tabcontent">
  354.                 <p>{{ product.description|raw }}</p>
  355.             </div>
  356.             {% endif %}
  357.             {% if product.donneesTechniques is not empty %}
  358.             <div id="donneesTechniques" class="tabcontent">
  359.                 {% set firstProductSource = productsSources|first %}
  360.                 {% if firstProductSource is not empty %}
  361.                     <p>{{ firstProductSource.footer|raw }}</p>
  362.                 {% else %}
  363.                     <p>{{ product.donneesTechniques|raw }}</p>    
  364.                 {% endif %}
  365.             </div>
  366.             {% endif %}
  367.             {% if product.donneesTechniques is not empty %}
  368.             <div id="videoProduit" class="tabcontent">
  369.                 <p>{{ product.videoProduit|raw }}</p>
  370.             </div>
  371.             {% endif %}
  372.             {% if productsSources|length > 0 %}
  373.             <div class="options spacerTop">
  374.                 <span>OPTIONS</span>
  375.             </div>
  376.             <button class="collapsible">Produits de la gamme</button>
  377.             <div class="content">
  378.                 <div class="col-12 mb-12">
  379.                     <table class="productTable" cellspacing="2px">
  380.                         {% set num = 0  %}
  381.                         {% set firstProduct = productsSources|first %}
  382.                         {% set nbCols = 0 %}
  383.                         {% set countName = 0 %}
  384.                         {% set countGas = 0 %}
  385.                         {% set countGraduation = 0 %}
  386.                         {% set countMaximumPressure = 0 %}
  387.                         {% set countFlowPressure = 0 %}
  388.                         {% set countSubType = 0 %}
  389.                         {% set countCapacity = 0 %}
  390.                         {% set countLength = 0 %}
  391.                         {% set countThread = 0 %}
  392.                         {% set countAccessoryTxt = 0 %}
  393.                         {% set countInPort = 0 %}
  394.                         {% set countOutPort = 0 %}
  395.                         {% set countWeight = 0 %}
  396.                         {% for linkedProduct in productsSources %}
  397.                             {% if linkedProduct.name is not empty %}
  398.                                 {% set countName = countName + 1 %}
  399.                             {% endif %}
  400.                             {% if linkedProduct.gas is not empty %}
  401.                                 {% set countGas = countGas + 1 %}{% set nbCols = nbCols+1 %}
  402.                             {% endif %}
  403.                             {% if linkedProduct.graduation is not empty %}
  404.                                 {% set countGraduation = countGraduation + 1 %}{% set nbCols = nbCols+1 %}
  405.                             {% endif %}
  406.                             {% if linkedProduct.maximumPressure is not empty %}
  407.                                 {% set countMaximumPressure = countMaximumPressure + 1 %}{% set nbCols = nbCols+1 %}
  408.                             {% endif %}
  409.                             {% if linkedProduct.flowPressure is not empty %}
  410.                                 {% set countFlowPressure = countFlowPressure + 1 %}{% set nbCols = nbCols+1 %}
  411.                             {% endif %}
  412.                             {% if linkedProduct.subType is not empty %}
  413.                                 {% set countSubType = countSubType + 1 %}{% set nbCols = nbCols+1 %}
  414.                             {% endif %}
  415.                             {% if linkedProduct.capacity is not empty %}
  416.                                 {% set countCapacity = countCapacity + 1 %}{% set nbCols = nbCols+1 %}
  417.                             {% endif %}
  418.                             {% if linkedProduct.length is not empty %}
  419.                                 {% set countLength = countLength + 1 %}{% set nbCols = nbCols+1 %}
  420.                             {% endif %}
  421.                             {% if linkedProduct.thread is not empty %}
  422.                                 {% set countThread = countThread + 1 %}{% set nbCols = nbCols+1 %}
  423.                             {% endif %}
  424.                             {% if linkedProduct.accessoryTxt is not empty %}
  425.                                 {% set countAccessoryTxt = countAccessoryTxt + 1 %}{% set nbCols = nbCols+1 %}
  426.                             {% endif %}
  427.                             {% if linkedProduct.inPort is not empty %}
  428.                                 {% set countInPort = countInPort + 1 %}{% set nbCols = nbCols+1 %}
  429.                             {% endif %}
  430.                             {% if linkedProduct.outPort is not empty %}
  431.                                 {% set countOutPort = countOutPort + 1 %}{% set nbCols = nbCols+1 %}
  432.                             {% endif %}
  433.                             {% if linkedProduct.weight is not empty %}
  434.                                 {% set countWeight = countWeight + 1 %}{% set nbCols = nbCols+1 %}
  435.                             {% endif %}
  436.                         {% endfor %}
  437.                         {%  for linkedProduct in productsSources %}
  438.                             
  439.                             {% if num == 0 %}
  440.                                 <tr style="font-weight:bold">
  441.                                     {% if countName > 0 %}<th>Ref.</th>{% endif %}
  442.                                   
  443.                                     {% if countGas > 0 %}<th>Gaz</th>{% endif %}
  444.                                     {% if countGraduation > 0 %}<th>Graduation</th>{% endif %}
  445.                                     {% if countMaximumPressure > 0 %}<th>Pression maxi en bar</th>{% endif %}
  446.                                     {% if countFlowPressure > 0 %}<th>Débit / pression </th>{% endif %}
  447.                                     {% if countSubType > 0 %}<th>Sous-type</th>{% endif %}
  448.                                     {% if countCapacity > 0 %}<th>Capacité en mm</th>{% endif %}
  449.                                     {% if countLength > 0 %}<th>L. hors tout en mm</th>{% endif %}
  450.                                     {% if countThread > 0 %}<th>Filetage</th>{% endif %}
  451.                                     {% if countAccessoryTxt > 0 %}<th>Accessoire</th>{% endif %}
  452.                                     {% if countInPort > 0 and product.boolInPort %}<th>Entrée</th>{% endif %}
  453.                                     {% if countOutPort > 0 and product.boolOutPort %}<th>Sortie</th>{% endif %}
  454.                                     {% if countWeight > 0 %}<th>Poids en kg</th>{% endif %}
  455.                                     {% if nbCols == 0 %}<th>Description</th>{% endif %}
  456.                                 </tr>
  457.                             {% endif %}
  458.                             <tr>
  459.                                 {% if countName > 0 %}<td style="text-align:left"><a href="/produits/{{ linkedProduct.mainReference }}">{{ linkedProduct.mainReference }}</a></td>{% endif %}
  460.                                 {% if countGas> 0 %}<td style="text-align:left">{{ linkedProduct.gas }}</td>{% endif %}
  461.                                 {% if countGraduation > 0 %}<td style="text-align:left">{{ linkedProduct.graduation }}</td>{% endif %}
  462.                                 {% if countMaximumPressure > 0 %}<td style="text-align:left">{{ linkedProduct.maximumPressure }}</td>{% endif %} 
  463.                                 {% if countFlowPressure > 0 %}<td style="text-align:left">{{ linkedProduct.flowPressure }}</td>{% endif %}
  464.                                 {% if countSubType > 0 %}<td style="text-align:left">{{ linkedProduct.subType }}</td>{% endif %}
  465.                                 {% if countCapacity > 0 %}<td style="text-align:left">{{ linkedProduct.capacity }}</td>{% endif %}
  466.                                 {% if countLength > 0 %}<td style="text-align:left">{{ linkedProduct.length }}</td>{% endif %}
  467.                                 {% if countThread > 0 %}<td style="text-align:left">{{ product.thread }}</td>{% endif %}
  468.                                 {% if countAccessoryTxt > 0 %}<td style="text-align:left">{{ linkedProduct.accessoryTxt }}</td>{% endif %}
  469.                                 {% if countInPort > 0 and product.boolInPort %}<td style="text-align:left">{{ linkedProduct.inPort }}</td>{% endif %}
  470.                                 {% if countOutPort > 0 and product.boolOutPort %}<td style="text-align:left">{{ linkedProduct.outPort }}</td>{% endif %}
  471.                                 {% if countWeight >0 %}<td style="text-align:left">{{ linkedProduct.weight }}</td>{% endif %}
  472.                                 
  473.                                 {% if nbCols == 0 %}<td style="text-align:left">{{ linkedProduct.description|raw }}{% endif %}
  474.                             </tr>
  475.                             {% set num = num +1  %}
  476.                         {% endfor %}
  477.                     </table>
  478.                 </div>
  479.             </div>
  480.             {% endif %}
  481.             {% set count = 0 %}
  482.             {% for accessory in product.linkedProducts %}
  483.                 {% if accessory.name is not empty %}
  484.                 {% set count = count + 1 %}
  485.                 {% endif %}
  486.             {% endfor %}
  487.             {% if count > 0 %}
  488.             <div class="options spacerTop">
  489.                 <span>OPTIONS</span>
  490.             </div>
  491.             <button class="collapsible">Produits de la gamme</button>
  492.             <div class="content">
  493.                 <div class="col-12 mb-12">
  494.                     <table class="productTable" cellspacing="2px">
  495.                         {% set num = 0  %}
  496.                         {% set firstProduct = product.linkedProducts|first %}
  497.                         {% set nbCols = 0 %}
  498.                         {% set countName = 0 %}
  499.                         {% set countGas = 0 %}
  500.                         {% set countGraduation = 0 %}
  501.                         {% set countMaximumPressure = 0 %}
  502.                         {% set countFlowPressure = 0 %}
  503.                         {% set countSubType = 0 %}
  504.                         {% set countCapacity = 0 %}
  505.                         {% set countLength = 0 %}
  506.                         {% set countThread = 0 %}
  507.                         {% set countAccessoryTxt = 0 %}
  508.                         {% set countInPort = 0 %}
  509.                         {% set countOutPort = 0 %}
  510.                         {% set countWeight = 0 %}
  511.                         {% for linkedProduct in product.linkedProducts %}
  512.                             {% if linkedProduct.name is not empty %}
  513.                                 {% set countName = countName + 1 %}
  514.                             {% endif %}
  515.                             {% if linkedProduct.gas is not empty %}
  516.                                 {% set countGas = countGas + 1 %}{% set nbCols = nbCols+1 %}
  517.                             {% endif %}
  518.                             {% if linkedProduct.graduation is not empty %}
  519.                                 {% set countGraduation = countGraduation + 1 %}{% set nbCols = nbCols+1 %}
  520.                             {% endif %}
  521.                             {% if linkedProduct.maximumPressure is not empty %}
  522.                                 {% set countMaximumPressure = countMaximumPressure + 1 %}{% set nbCols = nbCols+1 %}
  523.                             {% endif %}
  524.                             {% if linkedProduct.flowPressure is not empty %}
  525.                                 {% set countFlowPressure = countFlowPressure + 1 %}{% set nbCols = nbCols+1 %}
  526.                             {% endif %}
  527.                             {% if linkedProduct.subType is not empty %}
  528.                                 {% set countSubType = countSubType + 1 %}{% set nbCols = nbCols+1 %}
  529.                             {% endif %}
  530.                             {% if linkedProduct.capacity is not empty %}
  531.                                 {% set countCapacity = countCapacity + 1 %}{% set nbCols = nbCols+1 %}
  532.                             {% endif %}
  533.                             {% if linkedProduct.length is not empty %}
  534.                                 {% set countLength = countLength + 1 %}{% set nbCols = nbCols+1 %}
  535.                             {% endif %}
  536.                             {% if linkedProduct.thread is not empty %}
  537.                                 {% set countThread = countThread + 1 %}{% set nbCols = nbCols+1 %}
  538.                             {% endif %}
  539.                             {% if linkedProduct.accessoryTxt is not empty %}
  540.                                 {% set countAccessoryTxt = countAccessoryTxt + 1 %}{% set nbCols = nbCols+1 %}
  541.                             {% endif %}
  542.                             {% if linkedProduct.inPort is not empty %}
  543.                                 {% set countInPort = countInPort + 1 %}{% set nbCols = nbCols+1 %}
  544.                             {% endif %}
  545.                             {% if linkedProduct.outPort is not empty %}
  546.                                 {% set countOutPort = countOutPort + 1 %}{% set nbCols = nbCols+1 %}
  547.                             {% endif %}
  548.                             {% if linkedProduct.weight is not empty %}
  549.                                 {% set countWeight = countWeight + 1 %}{% set nbCols = nbCols+1 %}
  550.                             {% endif %}
  551.                         {% endfor %}
  552.                         {%  for linkedProduct in product.linkedProducts %}
  553.                             {% if num == 0 %}
  554.                                 <tr style="font-weight:bold">
  555.                                     {% if countName > 0 %}<th>Ref.</th>{% endif %}
  556.                                     {% if countGas > 0 %}<th>Gaz</th>{% endif %}
  557.                                     {% if countGraduation > 0 %}<th>Graduation</th>{% endif %}
  558.                                     {% if countMaximumPressure > 0 %}<th>Pression maxi en bar</th>{% endif %}
  559.                                     {% if countFlowPressure > 0 %}<th>Débit / pression </th>{% endif %}
  560.                                     {% if countSubType > 0 %}<th>Sous-type</th>{% endif %}
  561.                                     {% if countCapacity > 0 %}<th>Capacité en mm</th>{% endif %}
  562.                                     {% if countLength > 0 %}<th>L. hors tout en mm</th>{% endif %}
  563.                                     {% if countThread > 0 %}<th>Filetage</th>{% endif %}
  564.                                     {% if countAccessoryTxt > 0 %}<th>Accessoire</th>{% endif %}
  565.                                     {% if countInPort > 0 and product.boolInPort %}<th>Entrée</th>{% endif %}
  566.                                     {% if countOutPort > 0 and product.boolOutPort %}<th>Sortie</th>{% endif %}
  567.                                     {% if countWeight > 0 %}<th>Poids en kg</th>{% endif %}
  568.                                     {% if nbCols == 0 %}<th>Description</th>{% endif %}
  569.                                 </tr>
  570.                             {% endif %}
  571.                             <tr>
  572.                                 {% if countName > 0 %}<td style="text-align:left"><a href="/produits/{{ linkedProduct.mainReference }}">{{ linkedProduct.mainReference }}</a></td>{% endif %}
  573.                                 {% if countGas> 0 %}<td style="text-align:left">{{ linkedProduct.gas }}</td>{% endif %}
  574.                                 {% if countGraduation > 0 %}<td style="text-align:left">{{ linkedProduct.graduation }}</td>{% endif %}
  575.                                 {% if countMaximumPressure > 0 %}<td style="text-align:left">{{ linkedProduct.maximumPressure }}</td>{% endif %} 
  576.                                 {% if countFlowPressure > 0 %}<td style="text-align:left">{{ linkedProduct.flowPressure }}</td>{% endif %}
  577.                                 {% if countSubType > 0 %}<td style="text-align:left">{{ linkedProduct.subType }}</td>{% endif %}
  578.                                 {% if countCapacity > 0 %}<td style="text-align:left">{{ linkedProduct.capacity }}</td>{% endif %}
  579.                                 {% if countLength > 0 %}<td style="text-align:left">{{ linkedProduct.length }}</td>{% endif %}
  580.                                 {% if countThread > 0 %}<td style="text-align:left">{{ product.thread }}</td>{% endif %}
  581.                                 {% if countAccessoryTxt > 0 %}<td style="text-align:left">{{ linkedProduct.accessoryTxt }}</td>{% endif %}
  582.                                 {% if countInPort > 0 and product.boolInPort %}<td style="text-align:left">{{ linkedProduct.inPort }}</td>{% endif %}
  583.                                 {% if countOutPort > 0 and product.boolOutPort %}<td style="text-align:left">{{ linkedProduct.outPort }}</td>{% endif %}
  584.                                 {% if countWeight >0 %}<td style="text-align:left">{{ linkedProduct.weight }}</td>{% endif %}
  585.                                 {% if nbCols == 0 %}<td style="text-align:left">{{ linkedProduct.description|raw }}{% endif %}
  586.                             </tr>
  587.                             {% set num = num +1  %}
  588.                         {% endfor %}
  589.                     </table>
  590.                 </div>
  591.             </div>
  592.             {% endif %}
  593.         {% set previous_title = "" %}
  594.             {% set count = 0 %}
  595.             {% for accessory in product.accessories %}
  596.                 {% set count = count + 1 %}
  597.             {% endfor %}
  598.             {% if count > 0 %}
  599.             {% set filteredAccessories = product.accessories|filter(item => item.gas is not empty)|filter(item => item.subTitle is empty) %}
  600.             {% set count2 = 0 %}
  601.             {% for accessory in filteredAccessories %}
  602.                 {% set count2 = count2 + 1 %}
  603.             {% endfor %}
  604.             {% set filteredAccessories = product.accessories|filter(item => item.subTitle is not empty) %}
  605.             {% set count2 = 0 %}
  606.             {% for accessory in filteredAccessories %}
  607.                 {% set count2 = count2 + 1 %}
  608.             {% endfor %}
  609.             {% if count2 > 0 %}
  610.             <button class="collapsible">Accessoires Compatibles</button>
  611.              {% endif %}
  612.             <div class="content">
  613.                     {% set count = 0 %}
  614.                     {% for accessory in product.accessories %}
  615.                         {% if accessory.gas is not empty and (accessory.speed is empty or (accessory.speed is not empty and accessory.subTitle is empty)) %}
  616.                             {% set count = count + 1 %}
  617.                         {% elseif accessory.subTitle == "Multidards" or accessory.subTitle == "Annulaire" %}
  618.                             {% set count = count + 1 %}
  619.                         {% endif %}
  620.                     {% endfor %}
  621.                     {% set countSubTitle = 0 %}
  622.                     {% for accessory in product.accessories %}
  623.                         {% if accessory.subTitle is not empty %}
  624.                             {% set countSubTitle = count + 1 %}
  625.                         {% endif %}
  626.                     {% endfor %}
  627.                     {% if count > 0 %}
  628.                     <div class="col-12 mb-12" style="margin-top:25px;">
  629.                             {# Créer un tableau d'accessoires avec un découpage par GAZ - ils doivent avoir un gaz renseigné et pas de sous titre #}
  630.                             {% set filteredAccessories = product.accessories|filter(item => item.gas is not empty)|filter(item => item.subTitle is empty) %}
  631.                            
  632.                             {%  set num = 0  %}
  633.                             {%  set sub = "first"  %}
  634.                             {%  set nbCol = 4  %}
  635.                             {%  set firstProduct = filteredAccessories|first %}
  636.                             {% if product.graduation  %}
  637.                                 {% if firstProduct.graduation is not empty %}
  638.                                     {%  set nbCol = nbCol +1  %} {% endif %}
  639.                             {% endif %}
  640.                             {% if product.boolInPort  %}
  641.                                 {% if firstProduct.inPort is not empty %}
  642.                                     {%  set nbCol = nbCol +1  %} {% endif %}
  643.                             {% endif %}
  644.                             {% if product.boolOutPort  %}
  645.                                 {% if firstProduct.outPort is not empty %}
  646.                                     {%  set nbCol = nbCol +1  %} {% endif %}
  647.                             {% endif %}
  648.                             {% for accessoire in filteredAccessories %}
  649.                                         {% if (sub != accessoire.gas) %}
  650.                                         {% if sub != "first" %}
  651.                                         </table>
  652.                                         </td>
  653.                                         </tr>
  654.                                         </table>
  655.                                         {% endif %}
  656.                                         {% if previous_title != accessoire.title %}
  657.                                         <h2>
  658.                                             {{ accessoire.title }}
  659.                                         </h2>
  660.                                         {% endif %}
  661.                                         {%  set previous_title = accessoire.title %}
  662.                                         <table class="productTable" cellspacing="2px">
  663.                                             <tr class="responsiveImage">
  664.                                                 <td style="text-align:left">
  665.                                                     {% if accessoire.images is not null %}
  666.                                                         {% set firstImage = accessoire.images|first %}
  667.                                                         {% if firstImage %}
  668.                                                             <img src="{{ asset('assets/uploads/products/mini/') ~ firstImage.name }}" class="d-block w-100" alt="{{ firstImage.name }}" style="transform: scale(0.5);">
  669.                                                         {% endif %}
  670.                                                     {% endif %}
  671.                                                 </td>
  672.                                             </tr>
  673.                                             <tr>
  674.                                                 <td style="text-align:left" class="notResponsiveImage">
  675.                                                     {% if accessoire.images is not null %}
  676.                                                         {% set firstImage = accessoire.images|first %}
  677.                                                         {% if firstImage %}
  678.                                                             <img src="{{ asset('assets/uploads/products/mini/') ~ firstImage.name }}" class="d-block w-100" alt="{{ firstImage.name }}" style="transform: scale(0.5);">
  679.                                                         {% endif %}
  680.                                                     {% endif %}
  681.                                                 </td>
  682.                                                 <td style="text-align:left">
  683.                                                     {% set count = 0 %}
  684.                                                     {% set countName = 0 %}
  685.                                                     {% set countCaliber = 0 %}
  686.                                                     {% set countThickness = 0 %}
  687.                                                     {% set countSpeed = 0 %}
  688.                                                     {% set countFlowPressure = 0 %}
  689.                                                     {% set countMaximumPressure = 0 %}
  690.                                                     {% set countThread = 0 %}
  691.                                                     {% set countGraduation = 0 %}
  692.                                                     {% set countInPort = 0 %}
  693.                                                     {% set countOutPort = 0 %}
  694.                                                     {% set countAccessoryType = 0 %}
  695.                                                     {% set countDrillingThickness = 0 %}
  696.                                                     {% set countPressureInBar = 0 %}
  697.                                                     {% set countDriftThickness = 0 %}
  698.                                                     {% set countGougingThickness = 0 %}
  699.                                                     {% set countWeight = 0 %}
  700.                                                     {% set filteredAccessoriesFor = product.accessories|filter(item => item.gas == accessoire.gas)|filter(item => item.subTitle is empty) %}
  701.                                                     {% for accessory in filteredAccessoriesFor %}
  702.                                                         {% if accessory.gas is not empty and accessory.gas == accessoire.gas and accessory.subTitle == accessoire.subTitle %}
  703.                                                         {% if accessory.gas is not empty and (accessory.speed is empty or (accessory.speed is not empty and accessory.subTitle is empty)) %}
  704.                                                             {% set count = count + 1 %}
  705.                                                         {% endif %}
  706.                                                         {% if accessory.name is not empty %}
  707.                                                             {% set countName = countName + 1 %}
  708.                                                         {% endif %}
  709.                                                         {% if accessory.caliber is not empty %}
  710.                                                             {% set countCaliber = countCaliber + 1 %}
  711.                                                         {% endif %}
  712.                                                         {% if accessory.thickness is not empty %}
  713.                                                             {% set countThickness = countThickness + 1 %}
  714.                                                         {% endif %}
  715.                                                         {% if accessory.speed is not empty %}
  716.                                                             {% set countSpeed = countSpeed + 1 %}
  717.                                                         {% endif %}
  718.                                                         {% if accessory.flowPressure is not empty %}
  719.                                                             {% set countFlowPressure = countFlowPressure + 1 %}
  720.                                                         {% endif %}
  721.                                                         {% if accessory.maximumPressure is not empty %}
  722.                                                             {% set countMaximumPressure = countMaximumPressure + 1 %}
  723.                                                         {% endif %}
  724.                                                         {% if accessory.Thread is not empty %}
  725.                                                             {% set countThread = countThread + 1 %}
  726.                                                         {% endif %}
  727.                                                         {% if accessory.graduation is not empty %}
  728.                                                             {% set countGraduation = countGraduation + 1 %}
  729.                                                         {% endif %}
  730.                                                         {% if accessory.inPort is not empty %}
  731.                                                             {% set countInPort = countInPort + 1 %}
  732.                                                         {% endif %}
  733.                                                         {% if accessory.outPort is not empty %}
  734.                                                             {% set countOutPort = countOutPort + 1 %}
  735.                                                         {% endif %}
  736.                                                         {% if accessory.accessoryType is not empty %}
  737.                                                             {% set countAccessoryType = countAccessoryType + 1 %}
  738.                                                         {% endif %}
  739.                                                         {% if accessory.DrillingThickness is not empty %}
  740.                                                             {% set countDrillingThickness = countDrillingThickness + 1 %}
  741.                                                         {% endif %}
  742.                                                         {% if accessory.pressureInBar is not empty %}
  743.                                                             {% set countPressureInBar = countPressureInBar + 1 %}
  744.                                                         {% endif %}
  745.                                                         {% if accessory.driftThickness is not empty %}
  746.                                                             {% set countDriftThickness = countDriftThickness + 1 %}
  747.                                                         {% endif %}
  748.                                                         {% if accessory.gougingThickness is not empty %}
  749.                                                             {% set countGougingThickness = countGougingThickness + 1 %}
  750.                                                         {% endif %}
  751.                                                         {% if accessory.weight is not empty %}
  752.                                                             {% set countWeight = countWeight + 1 %}
  753.                                                         {% endif %}
  754.                                                         {% endif %}
  755.                                                     {% endfor %}
  756.                                                     <table class="productTable" cellspacing="2px">
  757.                                                         <tr style="font-weight:bold;padding-top: 25px;">
  758.                                                             <td colspan="{{ nbCol }}">
  759.                                                                {{accessoire.gas }}
  760.                                                             </td>
  761.                                                         </tr>
  762.                                                         <tr style="font-weight:bold">
  763.                                                             {% if countName > 0 %}<th>Ref. 2</th>{% endif %}
  764.                                                             {% if countCaliber > 0 %}<th>Calibre</th>{% endif %}
  765.                                                             {% if countThickness > 0 %}<th>Epaisseur de coupe en mm</th>{% endif %}
  766.                                                             {% if countSpeed > 0 %}<th>Débit l/h</th>{% endif %}
  767.                                                             {% if countFlowPressure > 0 %}<th>Débit / pression </th>{% endif %}
  768.                                                             {% if countMaximumPressure > 0 %}<th>Pression maxi en bar</th>{% endif %}
  769.                                                             {% if countThread > 0 %}<th>Filetage</th>{% endif %}
  770.                                                             {% if countGraduation > 0 %}<th>Graduation</th>{% endif %}
  771.                                                             {% if countInPort > 0 %}<th>Entrée</th>{% endif %}
  772.                                                             {% if countOutPort > 0 %}<th>Sortie</th>{% endif %}
  773.                                                             {% if countAccessoryType > 0 %}<th>Type</th>{% endif %}
  774.                                                             {% if countDrillingThickness > 0 %}<th>Epaisseur de perçage</th>{% endif %}
  775.                                                             {% if countPressureInBar > 0 %}<th>Pression de service en bar</th>{% endif %}
  776.                                                             {% if countDriftThickness > 0 %}<th>Epaisseur de dérivetage en mm</th>{% endif %}
  777.                                                             {% if countGougingThickness > 0 %}<th>Epaisseur de gougeage en mm</th>{% endif %}
  778.                                                             {% if countWeight > 0 %}<th>Poids en kg</th>{% endif %}
  779.                                                         </tr>
  780.                                         {% set sub = accessoire.gas  %}
  781.                                        
  782.                                     {% endif %}
  783.                                     <tr>
  784.                                         {% if countName > 0 %} <td style="text-align:left"><a href="/produits/{{ accessoire.name }}">{{ accessoire.name }}</a></td> {% endif %}
  785.                                         {% if countCaliber > 0 %}<td style="text-align:left">{{ accessoire.caliber }}</td> {% endif %}
  786.                                         {% if countThickness > 0 %}<td style="text-align:left">{{ accessoire.thickness }}</td> {% endif %}
  787.                                         {% if countSpeed > 0 %}<td style="text-align:left">{{ accessoire.speed }}</td>{% endif %}
  788.                                         {% if countFlowPressure > 0 %}<td style="text-align:left">{{ accessoire.flowPressure }}</td>{% endif %}
  789.                                         {% if countMaximumPressure > 0 %}<td style="text-align:left">{{ accessoire.maximumPressure }}</td>{% endif %}
  790.                                         {% if countThread > 0 %}<td style="text-align:left">{{ accessoire.thread }}</td>{% endif %}
  791.                                         {% if countGraduation > 0 %}<td style="text-align:left">{{ accessoire.graduation }}</td> {% endif %}
  792.                                         {% if countInPort  > 0 %}<td style="text-align:left">{{ accessoire.inPort }}</td> {% endif %}
  793.                                         {% if countOutPort > 0 %}<td style="text-align:left">{{ accessoire.outPort }}</td> {% endif %}
  794.                                         {% if countAccessoryType > 0 %}<td style="text-align:left">{{ accessoire.accessoryType }}</td>{% endif %}
  795.                                         {% if countDrillingThickness > 0 %}<td style="text-align:left">{{ accessoire.drillingThickness }}</td>{% endif %}
  796.                                         {% if countPressureInBar > 0 %}<td style="text-align:left">{{ accessoire.pressureInBar }}</td>{% endif %}
  797.                                         {% if countDriftThickness > 0 %}<td style="text-align:left">{{ accessoire.driftThickness }}</td>{% endif %}
  798.                                         {% if countGougingThickness > 0 %}<td style="text-align:left">{{ accessoire.gougingThickness }}</td>{% endif %}
  799.                                         {% if countWeight > 0 %}<td style="text-align:left">{{ accessoire.weight }}</td>{% endif %}
  800.                                     </tr>
  801.                                 
  802.                                 {% set num = num +1  %}
  803.                                 {% endfor %}
  804.                                             </table>
  805.                                             </td>
  806.                                             </tr>
  807.                                         </table>
  808.                             
  809.                             {% if countSubTitle > 0 %}
  810.                             {# Créer un tableau trié en fonction de `subTitle` #}
  811.                             {% set filteredAccessories = product.accessories|filter(item => item.gas is not empty)|filter(item => item.subTitle is not empty)| sort((a, b) => a.subtitle <=> b.subtitle)  %}
  812.                            
  813.                             {%  set num = 0  %}
  814.                             {%  set sub = "first"  %}
  815.                             {%  set nbCol = 4  %}
  816.                             {%  set firstProduct = filteredAccessories|first %}
  817.                             {% if product.graduation  %}
  818.                                 {% if firstProduct.graduation is not empty %}
  819.                                     {%  set nbCol = nbCol +1  %} {% endif %}
  820.                             {% endif %}
  821.                             {% if product.inPort  %}
  822.                                 {% if firstProduct.inPort is not empty %}
  823.                                     {%  set nbCol = nbCol +1  %} {% endif %}
  824.                             {% endif %}
  825.                             {% if product.outPort  %}
  826.                                 {% if firstProduct.outPort is not empty %}
  827.                                     {%  set nbCol = nbCol +1  %} {% endif %}
  828.                             {% endif %}
  829.                             {% for accessoire in filteredAccessories %}
  830.                                         {% if (sub != accessoire.subTitle) %}
  831.                                         {% if sub != "first" %}
  832.                                         </table>
  833.                                         </td>
  834.                                         </tr>
  835.                                         </table>
  836.                                         {% endif %}
  837.                                         {% if previous_title != accessoire.title %}
  838.                                         <h2>
  839.                                             {{ accessoire.title }}
  840.                                         </h2>
  841.                                         
  842.                                         {% endif %}
  843.                                         {%  set previous_title = accessoire.title %}
  844.                                         <table class="productTable" cellspacing="2px">
  845.                                             <tr class="responsiveImage">
  846.                                                 <td style="text-align:left">
  847.                                                     {% if accessoire.images is not null %}
  848.                                                         {% set firstImage = accessoire.images|first %}
  849.                                                         {% if firstImage %}
  850.                                                             <img src="{{ asset('assets/uploads/products/mini/') ~ firstImage.name }}" class="d-block w-100" alt="{{ firstImage.name }}" style="transform: scale(0.5);">
  851.                                                         {% endif %}
  852.                                                     {% endif %}
  853.                                                 </td>
  854.                                             </tr>
  855.                                             <tr>
  856.                                                 <td style="text-align:left" class="notResponsiveImage">
  857.                                                     {% if accessoire.images is not null %}
  858.                                                         {% set firstImage = accessoire.images|first %}
  859.                                                         {% if firstImage %}
  860.                                                             <img src="{{ asset('assets/uploads/products/mini/') ~ firstImage.name }}" class="d-block w-100" alt="{{ firstImage.name }}" style="transform: scale(0.5);">
  861.                                                         {% endif %}
  862.                                                     {% endif %}
  863.                                                 </td>
  864.                                                 <td style="text-align:left">
  865.                                                     {% set count = 0 %}
  866.                                                     {% set countGas = 0 %}
  867.                                                     {% set countName = 0 %}
  868.                                                     {% set countCaliber = 0 %}
  869.                                                     {% set countThickness = 0 %}
  870.                                                     {% set countSpeed = 0 %}
  871.                                                     {% set countFlowPressure = 0 %}
  872.                                                     {% set countMaximumPressure = 0 %}
  873.                                                     {% set countThread = 0 %}
  874.                                                     {% set countGraduation = 0 %}
  875.                                                     {% set countInPort = 0 %}
  876.                                                     {% set countOutPort = 0 %}
  877.                                                     {% set countAccessoryType = 0 %}
  878.                                                     {% set countDrillingThickness = 0 %}
  879.                                                     {% set countPressureInBar = 0 %}
  880.                                                     {% set countDriftThickness = 0 %}
  881.                                                     {% set countGougingThickness = 0 %}
  882.                                                     {% set countWeight = 0 %}
  883.                                                     {% set filteredAccessoriesFor = product.accessories|filter(item => item.gas == accessoire.gas)| sort((a, b) => a.subtitle <=> b.subtitle)  %}
  884.                                                     {% if countSubTitle > 0 %}
  885.                                                         {% set filteredAccessoriesFor = product.accessories|filter(item => item.subTitle == accessoire.subTitle)| sort((a, b) => a.subtitle <=> b.subtitle)  %}
  886.                                                     {% endif %}
  887.                                                     {% for accessory in filteredAccessoriesFor %}
  888.                                                         {% if accessory.gas is not empty and (accessory.speed is empty or (accessory.speed is not empty and accessory.subTitle is empty)) %}
  889.                                                             {% set count = count + 1 %}
  890.                                                         {% endif %}
  891.                                                         {% if accessory.name is not empty %}
  892.                                                             {% set countName = countName + 1 %}
  893.                                                         {% endif %}
  894.                                                         {% if accessory.caliber is not empty %}
  895.                                                             {% set countCaliber = countCaliber + 1 %}
  896.                                                         {% endif %}
  897.                                                         {% if accessory.thickness is not empty %}
  898.                                                             {% set countThickness = countThickness + 1 %}
  899.                                                         {% endif %}
  900.                                                         {% if accessory.speed is not empty %}
  901.                                                             {% set countSpeed = countSpeed + 1 %}
  902.                                                         {% endif %}
  903.                                                         {% if accessory.flowPressure is not empty %}
  904.                                                             {% set countFlowPressure = countFlowPressure + 1 %}
  905.                                                         {% endif %}
  906.                                                         {% if accessory.maximumPressure is not empty %}
  907.                                                             {% set countMaximumPressure = countMaximumPressure + 1 %}
  908.                                                         {% endif %}
  909.                                                         {% if accessory.Thread is not empty %}
  910.                                                             {% set countThread = countThread + 1 %}
  911.                                                         {% endif %}
  912.                                                         {% if accessory.graduation is not empty %}
  913.                                                             {% set countGraduation = countGraduation + 1 %}
  914.                                                         {% endif %}
  915.                                                         {% if accessory.inPort is not empty %}
  916.                                                             {% set countInPort = countInPort + 1 %}
  917.                                                         {% endif %}
  918.                                                         {% if accessory.outPort is not empty %}
  919.                                                             {% set countOutPort = countOutPort + 1 %}
  920.                                                         {% endif %}
  921.                                                         {% if accessory.accessoryType is not empty %}
  922.                                                             {% set countAccessoryType = countAccessoryType + 1 %}
  923.                                                         {% endif %}
  924.                                                         {% if accessory.DrillingThickness is not empty %}
  925.                                                             {% set countDrillingThickness = countDrillingThickness + 1 %}
  926.                                                         {% endif %}
  927.                                                         {% if accessory.pressureInBar is not empty %}
  928.                                                             {% set countPressureInBar = countPressureInBar + 1 %}
  929.                                                         {% endif %}
  930.                                                         {% if accessory.driftThickness is not empty %}
  931.                                                             {% set countDriftThickness = countDriftThickness + 1 %}
  932.                                                         {% endif %}
  933.                                                         {% if accessory.gougingThickness is not empty %}
  934.                                                             {% set countGougingThickness = countGougingThickness + 1 %}
  935.                                                         {% endif %}
  936.                                                         {% if accessory.weight is not empty %}
  937.                                                             {% set countWeight = countWeight + 1 %}
  938.                                                         {% endif %}
  939.                                                     {% endfor %}
  940.                                                     <table class="productTable" cellspacing="2px">
  941.                                                         <tr style="font-weight:bold;padding-top: 25px;">
  942.                                                             <td colspan="{{ nbCol }}">                                                    
  943.                                                                     <p>{{ accessoire.subTitle
  944.                                                                         |replace({
  945.                                                                             '[1]': '',
  946.                                                                             '[2]': '',
  947.                                                                             '[3]': '',
  948.                                                                             '[4]': ''
  949.                                                                         })
  950.                                                                     }}</p> 
  951.                                                                     {% if accessoire.header is not empty %}{{ accessoire.header|raw }}{% endif %}
  952.                                                             </td>
  953.                                                         </tr>
  954.                                                         <tr style="font-weight:bold">
  955.                                                             <th>Ref.</th>
  956.                                                             <th>Gaz</th>
  957.                                                             {% if countCaliber > 0 %}<th>Calibre</th>{% endif %}
  958.                                                           
  959.                                                             {% if countThickness > 0 %}<th>Epaisseur de coupe en mm</th>{% endif %}
  960.                                                             
  961.                                                              {% if countSpeed > 0 %}
  962.                                                                 {% if accessoire.subtitle == "Multidards" %}
  963.                                                                     <th>Débit g/h</th>
  964.                                                                 {% else %}
  965.                                                                     <th>Débit l/h</th>
  966.                                                                 {% endif %}
  967.                                                             {% endif %}
  968.                                                             {% if countFlowPressure > 0 %}<th>Débit / pression </th>{% endif %}
  969.                                                             {% if countMaximumPressure > 0 %}<th>Pression maxi en bar</th>{% endif %}
  970.                                                             {% if countThread > 0 %}<th>Filetage</th>{% endif %}
  971.                                                             {% if countGraduation > 0 %}<th>Graduation</th>{% endif %}
  972.                                                             {% if countInPort > 0 %}<th>Entrée</th>{% endif %}
  973.                                                             {% if countOutPort > 0 %}<th>Sortie</th>{% endif %}
  974.                                                             {% if countAccessoryType > 0 %}<th>Type</th>{% endif %}
  975.                                                             {% if countDrillingThickness > 0 %}
  976.                                                                 {% if accessoire.subtitle == "Annulaire" %}
  977.                                                                     <th>Diamètre perçage</th>
  978.                                                                 {% else %}
  979.                                                                     <th>Epaisseur de perçage</th>
  980.                                                                 {% endif %}
  981.                                                             {% endif %}
  982.                                                     
  983.                                                             {% if countPressureInBar > 0 %}<th>Pression de service en bar</th>{% endif %}
  984.                                                             {% if countDriftThickness > 0 %}<th>Epaisseur de dérivetage en mm</th>{% endif %}
  985.                                                             {% if countGougingThickness > 0 %}<th>Epaisseur de gougeage en mm</th>{% endif %}
  986.                                                             {% if countWeight > 0 %}<th>Poids en kg</th>{% endif %}
  987.                                                         </tr>
  988.                                         {% set sub = accessoire.subTitle  %}
  989.                                     {% endif %}
  990.                                     <tr>
  991.                                         {% if countName > 0 %} <td style="text-align:left"><a href="/produits/{{ accessoire.name }}">{{ accessoire.name }}</a></td> {% endif %}
  992.                                         <td style="text-align:left">{{ accessoire.gas }}</td>
  993.                                         {% if countCaliber > 0 %}<td style="text-align:left">{{ accessoire.caliber }}</td> {% endif %}
  994.                                         {% if countThickness > 0 %}<td style="text-align:left">{{ accessoire.thickness }}</td> {% endif %}
  995.                                         {% if countSpeed > 0 %}<td style="text-align:left">{{ accessoire.speed }}</td>{% endif %}
  996.                                         {% if countFlowPressure > 0 %}<td style="text-align:left">{{ accessoire.flowPressure }}</td>{% endif %}
  997.                                         {% if countMaximumPressure > 0 %}<td style="text-align:left">{{ accessoire.maximumPressure }}</td>{% endif %}
  998.                                         {% if countThread > 0 %}<td style="text-align:left">{{ accessoire.thread }}</td>{% endif %}
  999.                                         {% if countGraduation > 0 %}<td style="text-align:left">{{ accessoire.graduation }}</td> {% endif %}
  1000.                                         {% if countInPort  > 0 %}<td style="text-align:left">{{ accessoire.inPort }}</td> {% endif %}
  1001.                                         {% if countOutPort > 0 %}<td style="text-align:left">{{ accessoire.outPort }}</td> {% endif %}
  1002.                                         {% if countAccessoryType > 0 %}<td style="text-align:left">{{ accessoire.accessoryType }}</td>{% endif %}
  1003.                                         {% if countDrillingThickness > 0 %}<td style="text-align:left">{{ accessoire.drillingThickness }}</td>{% endif %}
  1004.                                         {% if countPressureInBar > 0 %}<td style="text-align:left">{{ accessoire.pressureInBar }}</td>{% endif %}
  1005.                                         {% if countDriftThickness > 0 %}<td style="text-align:left">{{ accessoire.driftThickness }}</td>{% endif %}
  1006.                                         {% if countGougingThickness > 0 %}<td style="text-align:left">{{ accessoire.gougingThickness }}</td>{% endif %}
  1007.                                         {% if countWeight > 0 %}<td style="text-align:left">{{ accessoire.weight }}</td>{% endif %}
  1008.                                     </tr>
  1009.                                 
  1010.                                 {% set num = num +1  %}
  1011.                             {% endfor %}
  1012.                                             </table>
  1013.                                             </td>
  1014.                                             </tr>
  1015.                                         </table>
  1016.                             {% endif %}
  1017.                     </div>
  1018.                     {% endif %}
  1019.                     {% set count = 0 %}
  1020.                     {% set countDriftThickness = 0 %}
  1021.                     {% set countGougingThickness = 0 %}
  1022.                     {% for accessory in product.accessories %}
  1023.                         {% if accessory.speed is not empty %}
  1024.                             {% set count = count + 1 %}
  1025.                         {% endif %}
  1026.                         {% if accessory.driftThickness is not empty %}
  1027.                             {% set countDriftThickness = countDriftThickness + 1 %}
  1028.                         {% endif %}
  1029.                         {% if accessory.gougingThickness is not empty %}
  1030.                             {% set countGougingThickness = countGougingThickness + 1 %}
  1031.                         {% endif %}
  1032.                     {% endfor %}
  1033.                     {% if count > 0 %}
  1034.                     <div class="col-12 mb-12" style="margin-top:25px;">
  1035.                         {% set filteredAccessories = product.accessories |filter(item => item.subtitle != "Annulaire") | filter(item => item.subtitle != "Multidards") | sort((a, b) => a.subtitle <=> b.subtitle) %}
  1036.                         {% set firstAccessory = filteredAccessories|first %}
  1037.                           
  1038.                         {%  set num = 0  %}
  1039.                         {%  set sub = "first"  %}
  1040.                         {%  set nbCol = 3  %}
  1041.                         {%  set firstProduct = filteredAccessories|first %}
  1042.                         {% if product.graduation  %}
  1043.                             {% if firstProduct.graduation is not empty %}
  1044.                                 {%  set nbCol = nbCol +1  %} {% endif %}
  1045.                         {% endif %}
  1046.                         {% if product.inPort  %}
  1047.                             {% if firstProduct.inPort is not empty %}
  1048.                                 {%  set nbCol = nbCol +1  %} {% endif %}
  1049.                         {% endif %}
  1050.                         {% if product.outPort  %}
  1051.                             {% if firstProduct.outPort is not empty %}
  1052.                                 {%  set nbCol = nbCol +1  %} {% endif %}
  1053.                         {% endif %}
  1054.                         {% for accessoire in filteredAccessories %}
  1055.                         {% if accessoire.subtitle != "" %}
  1056.                         {% if sub != accessoire.subtitle %}
  1057.                         {% set firstProduct = accessoire %}
  1058.                         {% if sub != "first" %}
  1059.                             </table>
  1060.                             </td>
  1061.                             </tr>
  1062.                             </table>
  1063.                         {% endif %}
  1064.                         {% set count = 0 %}
  1065.                         {% set countGas = 0 %}
  1066.                         {% set countName = 0 %}
  1067.                         {% set countCaliber = 0 %}
  1068.                         {% set countThickness = 0 %}
  1069.                         {% set countSpeed = 0 %}
  1070.                         {% set countFlowPressure = 0 %}
  1071.                         {% set countMaximumPressure = 0 %}
  1072.                         {% set countThread = 0 %}
  1073.                         {% set countGraduation = 0 %}
  1074.                         {% set countInPort = 0 %}
  1075.                         {% set countOutPort = 0 %}
  1076.                         {% set countAccessoryType = 0 %}
  1077.                         {% set countDrillingThickness = 0 %}
  1078.                         {% set countPressureInBar = 0 %}
  1079.                         {% set countDriftThickness = 0 %}
  1080.                         {% set countGougingThickness = 0 %}
  1081.                         {% set countSubSubType = 0 %}
  1082.                         {% set filteredAccessoriesFor = product.accessories|filter(item => item.subtitle == accessoire.subtitle) %}
  1083.                         {% for accessory in filteredAccessoriesFor %}
  1084.                             {% if accessory.gas is not empty and (accessory.speed is empty or (accessory.speed is not empty and accessory.subTitle is empty)) %}
  1085.                                 {% set count = count + 1 %}
  1086.                             {% endif %}
  1087.                             {% if accessory.gas is not empty %}
  1088.                                 {% set countGas = countGas + 1 %}
  1089.                             {% endif %}
  1090.                             {% if accessory.name is not empty %}
  1091.                                 {% set countName = countName + 1 %}
  1092.                             {% endif %}
  1093.                             {% if accessory.caliber is not empty %}
  1094.                                 {% set countCaliber = countCaliber + 1 %}
  1095.                             {% endif %}
  1096.                             {% if accessory.thickness is not empty %}
  1097.                                 {% set countThickness = countThickness + 1 %}
  1098.                             {% endif %}
  1099.                             {% if accessory.speed is not empty %}
  1100.                                 {% set countSpeed = countSpeed + 1 %}
  1101.                             {% endif %}
  1102.                             {% if accessory.flowPressure is not empty and accessory.flowPressure != "-" %}
  1103.                                 {% set countFlowPressure = countFlowPressure + 1 %}
  1104.                             {% endif %}
  1105.                             {% if accessory.maximumPressure is not empty %}
  1106.                                 {% set countMaximumPressure = countMaximumPressure + 1 %}
  1107.                             {% endif %}
  1108.                             {% if accessory.Thread is not empty %}
  1109.                                 {% set countThread = countThread + 1 %}
  1110.                             {% endif %}
  1111.                             {% if accessory.graduation is not empty %}
  1112.                                 {% set countGraduation = countGraduation + 1 %}
  1113.                             {% endif %}
  1114.                             {% if accessory.inPort is not empty %}
  1115.                                 {% set countInPort = countInPort + 1 %}
  1116.                             {% endif %}
  1117.                             {% if accessory.outPort is not empty %}
  1118.                                 {% set countOutPort = countOutPort + 1 %}
  1119.                             {% endif %}
  1120.                             {% if accessory.accessoryType is not empty %}
  1121.                                 {% set countAccessoryType = countAccessoryType + 1 %}
  1122.                             {% endif %}
  1123.                             {% if accessory.DrillingThickness is not empty %}
  1124.                                 {% set countDrillingThickness = countDrillingThickness + 1 %}
  1125.                             {% endif %}
  1126.                             {% if accessory.pressureInBar is not empty %}
  1127.                                 {% set countPressureInBar = countPressureInBar + 1 %}
  1128.                             {% endif %}
  1129.                             {% if accessory.driftThickness is not empty %}
  1130.                                 {% set countDriftThickness = countDriftThickness + 1 %}
  1131.                             {% endif %}
  1132.                             {% if accessory.gougingThickness is not empty %}
  1133.                                 {% set countGougingThickness = countGougingThickness + 1 %}
  1134.                             {% endif %}
  1135.                             {% if accessory.subSubType is not empty %}
  1136.                                 {% set countSubSubType = countSubSubType + 1 %}
  1137.                             {% endif %}
  1138.                         {% endfor %}
  1139.                         {% if previous_title != accessoire.title %}
  1140.                         <h2>
  1141.                             {{ accessoire.title }}
  1142.                         </h2>
  1143.                         {% endif %}
  1144.                         {%  set previous_title = accessoire.title %}
  1145.                         <table class="productTable" cellspacing="2px">
  1146.                             <tr class="responsiveImage">
  1147.                                 <td>
  1148.                                     {% if accessoire.images is not null %}
  1149.                                         {% set firstImage = accessoire.images|first %}
  1150.                                         {% if firstImage %}
  1151.                                             <img src="{{ asset('assets/uploads/products/mini/') ~ firstImage.name }}" class="d-block w-100" alt="{{ firstImage.name }}" style="transform: scale(0.5);">
  1152.                                         {% endif %}
  1153.                                     {% endif %}
  1154.                                 </td>
  1155.                             </tr>
  1156.                             <tr>
  1157.                                 <td class="notResponsiveImage">
  1158.                                     {% if accessoire.images is not null %}
  1159.                                         {% set firstImage = accessoire.images|first %}
  1160.                                         {% if firstImage %}
  1161.                                             <img src="{{ asset('assets/uploads/products/mini/') ~ firstImage.name }}" class="d-block w-100" alt="{{ firstImage.name }}" style="transform: scale(0.5);">
  1162.                                         {% endif %}
  1163.                                     {% endif %}
  1164.                                 </td>
  1165.                                 <td>
  1166.                                     <table class="productTable" cellspacing="2px">
  1167.                                         <tr style="font-weight:bold;padding-top: 25px;">
  1168.                                             <td colspan="{{ nbCol }}">
  1169.                                                 <p>{{accessoire.subtitle }} </p>
  1170.                                             </td>
  1171.                                         </tr>
  1172.                                         <tr style="font-weight:bold">
  1173.                                             {% if countGas > 0 %}<th>Gaz</th>{% endif %}
  1174.                                             {% if countName > 0 %}<th>Ref. 4</th>{% endif %}
  1175.                                             {% if countCaliber > 0 %}<th>Calibre</th>{% endif %}
  1176.                                             {% if countThickness > 0 %}<th>Epaisseur de coupe en mm</th>{% endif %}
  1177.                                             {% if countSpeed > 0 %}
  1178.                                                 {% if accessoire.subtitle == "Annulaire OX/Propane" %}
  1179.                                                     <th>Diamètre perçage</th>
  1180.                                                 {% else %}
  1181.                                                     <th>Débit l/h</th>
  1182.                                                 {% endif %}
  1183.                                             {% endif %}
  1184.                                             {% if countFlowPressure > 0 %}<th>Débit / pression </th>{% endif %}
  1185.                                             {% if countMaximumPressure > 0 %}<th>Pression maxi en bar</th>{% endif %}
  1186.                                             {% if countThread > 0 %}<th>Filetage</th>{% endif %}
  1187.                                             {% if countGraduation > 0 %}<th>Graduation</th>{% endif %}
  1188.                                             {% if countInPort > 0 %}<th>Entrée</th>{% endif %}
  1189.                                             {% if countOutPort > 0 %}<th>Sortie</th>{% endif %}
  1190.                                             {% if countAccessoryType > 0 %}<th>Type</th>{% endif %}
  1191.                                             {% if countDrillingThickness > 0 %}<th>Epaisseur de perçage</th>{% endif %}
  1192.                                             {% if countPressureInBar > 0 %}<th>Pression de service en bar</th>{% endif %}
  1193.                                             {% if countDriftThickness > 0 %}<th>Epaisseur de dérivetage en mm</th>{% endif %}
  1194.                                             {% if countGougingThickness > 0 %}<th>Epaisseur de gougeage en mm</th>{% endif %}
  1195.                                             {% if countSubSubType > 0 %}
  1196.                                                 {% for accessory in product.accessories %}
  1197.                                                     {% if accessory.speed is not empty %}
  1198.                                                         {% if accessory.subSubType is not empty %}<th>Sous-Type</th>{% endif %}
  1199.                                                     {% endif %}
  1200.                                                 {% endfor %}
  1201.                                             {% endif %}
  1202.                                         </tr>
  1203.                                         {%  set sub = accessoire.subtitle  %}
  1204.                                         {% endif %}
  1205.                                         <tr>
  1206.                                             {% if countGas > 0 %}<td style="text-align:left">{{ accessoire.gas }}</td>{% endif %}
  1207.                                             {% if countName > 0  %}<td style="text-align:left"><a href="/produits/{{ accessoire.name }}">{{ accessoire.name }}</a></td>{% endif %}
  1208.                                             {% if countCaliber > 0  %}<td style="text-align:left">{{ accessoire.caliber }}</td> {% endif %}
  1209.                                             {% if countThickness > 0  %}<td style="text-align:left">{{ accessoire.thickness }}</td> {% endif %}
  1210.                                             {% if countSpeed > 0  %}<td style="text-align:left">{{ accessoire.speed }}</td>{% endif %}
  1211.                                             {% if countFlowPressure > 0  %}<td style="text-align:left">{{ accessoire.flowPressure }}</td>{% endif %}
  1212.                                             {% if countMaximumPressure > 0  %}<td style="text-align:left">{{ accessoire.maximumPressure }}</td>{% endif %}
  1213.                                             {% if countThread > 0  %}<td style="text-align:left">{{ accessoire.thread }}</td>{% endif %}
  1214.                                             {% if countGraduation > 0  %}<td style="text-align:left">{{ accessoire.graduation }}</td>{% endif %}
  1215.                                             {% if countInPort > 0  %}<td style="text-align:left">{{ accessoire.inPort }}</td>{% endif %}
  1216.                                             {% if countOutPort > 0  %}<td style="text-align:left">{{ accessoire.outPort }}</td>{% endif %}
  1217.                                             {% if countAccessoryType > 0  %}<td style="text-align:left">{{ accessoire.accessoryType }}</td>{% endif %}
  1218.                                             {% if countDrillingThickness > 0  %}<td style="text-align:left">{{ accessoire.drillingThickness }}</td>{% endif %}
  1219.                                             {% if countPressureInBar > 0  %}<td style="text-align:left">{{ accessoire.pressureInBar }}</td>{% endif %}
  1220.                                             {% if countDriftThickness > 0 %}<td style="text-align:left">{{ accessoire.driftThickness }}</td>{% endif %}
  1221.                                             {% if countGougingThickness > 0 %}<td style="text-align:left">{{ accessoire.gougingThickness }}</td>{% endif %}
  1222.                                             {% if accessoire.subSubType is not empty %}<td style="text-align:left">{{ accessoire.subSubType }}</td>{% endif %}
  1223.                                         </tr>
  1224.                                         {% endif %}
  1225.                                         {% set num = num +1  %}
  1226.                                         {% endfor %}
  1227.                                     </table>
  1228.                                 </td>
  1229.                             </tr>
  1230.                         </table>
  1231.                     </div>
  1232.                 {% endif %}
  1233.             </div>
  1234.             {% endif %}
  1235.             <hr>
  1236.             <div class="12">
  1237.                 <p>{{ product.footer|raw }}</p>
  1238.             </div>
  1239.             </div>
  1240.             {# Espace client : encart connexion + infos utilisateur + tarifs remisés.
  1241.                Actif uniquement sur les hôtes de app.client_area_hosts (config/services.yaml).
  1242.                Ailleurs la colonne n'est pas rendue du tout : le contenu principal,
  1243.                en flex:1 1 0%, occupe alors toute la largeur. #}
  1244.             {% if app.request.host in client_area_hosts %}
  1245.             <div class="col-md-3 product-aside">
  1246.             {% if app.user %}
  1247.                     <div class="user-box p-3 mb-4 border rounded shadow-sm bg-light">
  1248.                         <h5 class="mb-2">Mon compte</h5>
  1249.                         <p><strong>Nom :</strong> {{ app.user.lastname }}</p>
  1250.                         <p><strong>Prénom :</strong> {{ app.user.firstname }}</p>
  1251.                         {% if app.user.entreprise %}
  1252.                             <p><strong>Entreprise :</strong> {{ app.user.entreprise.nom }}</p>
  1253.                         {% endif %}
  1254.                         <div class="d-grid gap-2">
  1255.                             <a class="btn btn-primary btn-sm" href="{{ path('profile_index') }}">
  1256.                                 Mon espace client
  1257.                             </a>
  1258.                             <a class="btn btn-outline-secondary btn-sm" href="{{ path('app_logout') }}">
  1259.                                 Me déconnecter
  1260.                             </a>
  1261.                         </div>
  1262.                         {% if tarifs is not empty %}
  1263.                             <hr>
  1264.                             <h6>Tarifs produits :</h6>
  1265.                             {% for tarif in tarifs %}
  1266.                                 {# Remise : l'agence prime si elle en porte une,
  1267.                                    sinon celle de l'entreprise s'applique. #}
  1268.                                 {% set prixRemise = user.calculerPrixRemise(tarif) %}
  1269.                                 {% set remise = user.getOrigineRemise(tarif) %}
  1270.                                 <div class="tarif-line">
  1271.                                     <div class="tarif-label">{{ tarif.designation }}</div>
  1272.                                     <div class="tarif-price">
  1273.                                         {% if prixRemise != tarif.prixVente %}
  1274.                                             {# Prix public en gris au-dessus, non barré : il informe
  1275.                                                sans donner l'impression d'une promotion. #}
  1276.                                             <div class="tarif-public">
  1277.                                                 Prix public {{ tarif.prixVente|number_format(2, ',', ' ') }} € HT
  1278.                                             </div>
  1279.                                             <strong class="text-success">{{ prixRemise|number_format(2, ',', ' ') }} € HT</strong>
  1280.                                             <div class="tarif-src">remise {{ remise }}</div>
  1281.                                         {% else %}
  1282.                                             <strong>{{ tarif.prixVente|number_format(2, ',', ' ') }} € HT</strong>
  1283.                                         {% endif %}
  1284.                                     </div>
  1285.                                     {# Le panier vit sous /profil : réservé aux comptes
  1286.                                        rattachés à une entreprise. #}
  1287.                                     {% if user.entreprise %}
  1288.                                         <form method="post" action="{{ path('quote_cart_add', {id: tarif.id}) }}"
  1289.                                               class="tarif-form">
  1290.                                             <input type="hidden" name="_token" value="{{ csrf_token('cart_add_' ~ tarif.id) }}">
  1291.                                             <input type="number" name="quantity" value="1" min="1"
  1292.                                                    class="form-control tarif-qty" aria-label="Quantité">
  1293.                                             <button type="submit" class="btn btn-primary btn-sm">
  1294.                                                 Ajouter au panier
  1295.                                             </button>
  1296.                                         </form>
  1297.                                     {% else %}
  1298.                                         <div class="tarif-note">
  1299.                                             Votre compte n'est rattaché à aucune entreprise :
  1300.                                             la commande n'est pas disponible.
  1301.                                         </div>
  1302.                                     {% endif %}
  1303.                                 </div>
  1304.                             {% endfor %}
  1305.                             {% if user.entreprise %}
  1306.                                 <a href="{{ path('quote_cart') }}" class="btn btn-outline-primary btn-sm w-100 mt-2">
  1307.                                     Voir mon panier
  1308.                                 </a>
  1309.                             {% endif %}
  1310.                         {% endif %}
  1311.                     </div>
  1312.             {% else %}
  1313.                     <div class="user-box p-3 border rounded shadow-sm bg-light">
  1314.                         <h5>Utilisateur non connecté</h5>
  1315.                         <p><a href="{{ path('app_login') }}" class="btn btn-outline-primary btn-sm">Se connecter</a></p>
  1316.                         <p>« Affichez vos prix remisés en accédant à votre espace client. Pas encore de compte ? Faites-en la demande en cliquant <a href="{{ path('app_register') }}">ICI</a> »</p>
  1317.                     </div>
  1318.             {% endif %}
  1319.             </div>
  1320.             {% endif %}
  1321.         </section>
  1322.     </main>
  1323. {% endblock %}