templates/modules/app/shopping/includes/product/informations.html.twig line 1

Open in your IDE?
  1. <div class="row row-header">
  2.     <h1 itemprop="name" class="product-title" data-aos="fade-left" data-aos-delay="500" data-aos-anchor="#product"
  3.         data-aos-anchor-placement="top-bottom">{{ product_manager.product.designation|replace({
  4.             '<p>': '<span>',
  5.             '<br></p>': '</span>',
  6.             '</p>' : '</span>',
  7.             '<br>' : '</span><span>'
  8.         })|raw }}</h1>
  9.     {% if product_manager.product.subtitle|striptags != '' %}
  10.         <p class="product-subtitle" data-aos="fade-left" data-aos-delay="550" data-aos-anchor="#product"
  11.            data-aos-anchor-placement="top-bottom">{{ product_manager.product.subtitle|replace({
  12.                 '<p>': '<span>',
  13.                 '<br></p>': '</span>',
  14.                 '</p>' : '</span>',
  15.                 '<br>' : '</span><span>'
  16.             })|raw }}</p>
  17.     {% endif %}
  18.     {% if (product.onlineOnly == 0 or product.onlineOnly == 1 ) and product.availableForOrder == 1 %}
  19.         {% if product_manager.priceTtc > 0 and  product.stock > 0 %}
  20.             <div class="product-quantities" data-aos="fade-left" data-aos-delay="650" data-aos-anchor="#product"
  21.                  data-aos-anchor-placement="top-bottom">
  22.                 <div class="quantity-controls">
  23.                     <p class="quantity-label">Quantité</p>
  24.                     <button class="product-quantity-less">-</button>
  25.                     <input type="number" value="1" class="product-quantity">
  26.                     <button class="product-quantity-add">+</button>
  27.                 </div>
  28.             </div>
  29.         {% endif %}
  30.     {% endif %}
  31. </div>
  32. <div class="row row-content">
  33.     <div class="column">
  34.         <div class="product-stocks" data-aos="fade-left" data-aos-delay="700" data-aos-anchor="#product"
  35.              data-aos-anchor-placement="top-bottom">
  36.             {# Momentanément indisponible à la commande #}
  37.             {% if product.availableForOrder == 0 and ( product.onlineOnly == 0 or product.onlineOnly == 1 ) %}
  38.                 <div class="icon-stock icon-stock-outstock" data-stock="0">
  39.                     <span>Momentanément indisponible</span>
  40.                 </div>
  41.             {% else %}
  42.                 {# Affichage - Stock / Hors stock #}
  43.                 {% if product.onlineOnly == 0 or product.onlineOnly == 1 %}
  44.                     {% if product_manager.priceTtc > 0 and product.stock > 0 %}
  45.                         <div class="icon-stock icon-stock-instock" data-stock="1">
  46.                             <svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg"
  47.                                  viewBox="0 0 900 900">
  48.                                 <path class="cls-1"
  49.                                       d="M449.74,101.34c-192,0-348.26,156.23-348.26,348.26S257.72,797.85,449.74,797.85,798,641.62,798,449.6,641.76,101.34,449.74,101.34ZM644.38,358,421.81,578.77a34.25,34.25,0,0,1-48,.88L256,472.29a35.4,35.4,0,0,1-2.62-48.88,34.54,34.54,0,0,1,48.88-1.75l93.39,85.54,199-199A35.18,35.18,0,0,1,644.38,358Z"/>
  50.                             </svg>
  51.                             <span>En stock</span>
  52.                         </div>
  53.                     {% else %}
  54.                         <div class="icon-stock icon-stock-outstock" data-stock="0">
  55.                             <svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg"
  56.                                  viewBox="0 0 900 900">
  57.                                 <path class="cls-1"
  58.                                       d="M449.74,101.34c-192,0-348.26,156.23-348.26,348.26S257.72,797.85,449.74,797.85,798,641.62,798,449.6,641.76,101.34,449.74,101.34ZM644.38,358,421.81,578.77a34.25,34.25,0,0,1-48,.88L256,472.29a35.4,35.4,0,0,1-2.62-48.88,34.54,34.54,0,0,1,48.88-1.75l93.39,85.54,199-199A35.18,35.18,0,0,1,644.38,358Z"/>
  59.                             </svg>
  60.                             <span>Momentanément indisponible</span>
  61.                             
  62.                         </div>
  63.                     {% endif %}
  64.                 {% endif %}
  65.             {% endif %}
  66.         </div> {# /.product-stocks #}
  67.         {% if product.resume|striptags != '' %}
  68.             <div class="product-resume" data-aos="fade-left" data-aos-delay="750" data-aos-anchor="#product"
  69.                  data-aos-anchor-placement="top-center">
  70.                 <svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg"
  71.                      viewBox="0 0 900 900">
  72.                     <path class="cls-1"
  73.                           d="M449.91,101.74c-192.27,0-348.17,155.9-348.17,348.17s155.9,348.35,348.17,348.35,348.35-156,348.35-348.35-156-348.17-348.35-348.17Zm72.55,539.77c-18,7-32.24,12.38-42.89,16.1s-23,5.64-37.14,5.64c-21.74,0-38.69-5.34-50.67-16s-18-24-18-40.31a152.46,152.46,0,0,1,1.29-19.42c.89-6.63,2.32-14,4.31-22.33l22.48-79.29c2-7.63,3.72-14.81,5-21.45a99.7,99.7,0,0,0,2-18.72c0-10.05-2.14-17.13-6.34-21.15s-12.09-5.89-23.88-5.89a65.54,65.54,0,0,0-17.87,2.58q-9.06,2.82-15.51,5.19l5.89-24.32c14.67-6,28.78-11.09,42.16-15.4a123.09,123.09,0,0,1,38-6.48c21.56,0,38.14,5.3,49.78,15.69s17.58,23.88,17.58,40.57c0,3.47-.44,9.51-1.18,18.13a123.42,123.42,0,0,1-4.46,23.91l-22.29,79c-1.88,6.34-3.46,13.67-5.05,21.74a114.1,114.1,0,0,0-2.14,18.43c0,10.5,2.44,17.72,7,21.44,4.76,3.91,12.83,5.75,24.47,5.75a70.79,70.79,0,0,0,18.42-2.87,107.88,107.88,0,0,0,15-5Zm-3.87-320.68a56.24,56.24,0,0,1-75.43,0c-10.35-9.65-15.69-21.44-15.69-35.26s5.34-25.5,15.69-35.3a56.24,56.24,0,0,1,75.43,0q15.52,14.7,15.55,35.3c0,13.82-5.2,25.61-15.55,35.26Zm0,0"/>
  74.                 </svg>{{ product.resume|raw }}</div>
  75.         {% endif %}
  76.         {#        {% if product.declinaisons|length > 0 %}#}
  77.         {#            {% include '@app/shopping/includes/product/declinaisons_configuration.html.twig' %}#}
  78.         {#        {% endif %}#}
  79.         {# Produit disponible à la commande en ligne #}
  80.         {% if (product.onlineOnly == 0 or product.onlineOnly == 1 ) and product.availableForOrder == 1 %}
  81.             {% if product_manager.priceTtc > 0 and  product.stock > 0 %}
  82.                 <div class="product-quantities" data-aos="fade-left" data-aos-delay="900" data-aos-anchor="#product"
  83.                      data-aos-anchor-placement="top-center">
  84.                     {% if product.declinaisons|length > 0  and (declinaison_valide is not defined or declinaison_valide == -1) %}
  85.                         <button class="btn btn-submit btn-disabled" disabled>Indisponible</button>
  86.                     {% else %}
  87.                         <button id="btn-cart-add" class="btn btn-submit">Ajouter au panier</button>
  88.                     {% endif %}
  89.                     <p id="btn-card-informations"></p>
  90.                 </div>
  91.             {% else %}
  92.                 <div class="product-disponibility">
  93.                     {# Envoi d'un email vers la boutique pour avoir des informations #}
  94.                     <form id="form-stock-rupture" class="form form-stock-rupture" data-aos="fade-left"
  95.                           data-aos-delay="900" data-aos-anchor="#product"
  96.                           data-aos-anchor-placement="top-center">
  97.                         <div class="row row-introduction">
  98.                             <div class="form-introduction">
  99.                                 <p>
  100.                                     Le produit est actuellement
  101.                                     indisponible, renseignez votre adresse e-mail 
  102.                                     afin d’être mis au courant de sa disponibilité
  103.                                 </p>
  104.                             </div> {# /.form-introduction #}
  105.                         </div> {# /.row #}  
  106.                         
  107.                         <div class="row row-actions">
  108.                             <div class="form-group form-input">
  109.                             
  110.                                 <input 
  111.                                     id="input-stock-rupture" 
  112.                                     type="email"
  113.                                     required
  114.                                     value="{% if account.user.id != null %}{{ account.user.email }}{% endif %}"
  115.                                     placeholder="Adresse e-mail"
  116.                                 >
  117.                             
  118.                             </div>{# /.form-group #}
  119.                             <div class="form-group form-controls">
  120.                                 <button id="btn-stock-rupture" class="btn btn-submit">Envoyer</button>
  121.                             </div>{# /.form-group #}
  122.                         </div>{# /.row #}
  123.                     </form> {# /.form-stock-rupture #}
  124.                 </div>
  125.             {% endif %}
  126.         {% endif %}
  127.     </div>
  128.     <div class="column" data-aos="fade-left" data-aos-delay="800" data-aos-anchor="#product"
  129.          data-aos-anchor-placement="top-center">
  130.         <div class="product-prices" itemprop="offers" itemscope itemtype="https://schema.org/Offer">
  131.             <link itemprop="availability" href="https://schema.org/InStock">
  132.             <meta itemprop="priceCurrency" content="EUR">
  133.             <span class="product-price-current-ht {% if account.user.id is not null and account.user.accountType == 1 %}visible{% endif %}">{{ product_manager.priceHt|striptags }} &euro;</span>
  134.             <span itemprop="price" content="{{ product_manager.priceTtc|striptags }}"
  135.                   class="product-price-current-ttc {% if account.user.id is null or account.user.accountType != 1 %}visible{% endif %}">{{ product_manager.priceTtc|striptags }} &euro;</span>
  136.             {% if product_manager.isReduction == 1 %}
  137.                 <span class="product-price-previous">{{ product_manager.initialPriceTtc|striptags }} &euro;</span>
  138.             {% endif %}
  139.             {% if product_manager.product.weightPriceUnit|striptags != '' and product_manager.product.weightPriceUnitType|striptags != '' %}
  140.                 <span class="product-price-unity">({{ product_manager.product.weightPriceUnit }} &euro;/{{ product_manager.product.weightPriceUnitType }}) TTC</span>
  141.             {% endif %}
  142.         </div>
  143.     </div>
  144. </div>