templates/pages/product_detail.html.twig line 1

Open in your IDE?
  1. {% extends 'layout/user_base.html.twig' %}
  2. {% set translated = product|translate %}
  3. {% set promotion = product.inPromotion %}
  4. {% set showCustomMetadescription = (translated.metaDescription is not null or translated.metaDescription != "") %}
  5. {% set showCustomMetakeyword= (translated.metaKeyword is not null or translated.metaKeyword != "") %}
  6. {% block meta %}
  7.     <meta name="description"
  8.           content="{{ showCustomMetadescription ? translated.metaDescription : appText.meta.HEADER_DESCRIPTION[app.request.locale] }}">
  9.     <meta name="keyword"
  10.           content="{{ showCustomMetakeyword ? translated.metaKeyword : appText.meta.HEADER_KEYWORD[app.request.locale] }}">
  11. {% endblock %}
  12. {% block title %}
  13.     {{ translated.name ~ " - " ~ translated.brand.name }}
  14. {% endblock %}
  15. {% block body %}
  16.     <div class="container mt-5">
  17.         <div class="row">
  18.             {#            <div class="col-lg-0"> #}
  19.             {#                {{ render(controller('App\\Controller\\App\\WidgetController::onlineShopFilter', {linkMode: true})) }} #}
  20.             {#            </div> #}
  21.             <div class="col-lg-12">
  22.                 <nav class="mb-3">
  23.                     <ol class="breadcrumb mb-0">
  24.                         {% for category in categories %}
  25.                             <li class="breadcrumb-item">
  26.                                 <a href="{{ path('app_shop', {
  27.                                     categories: [category.id]|json_encode,
  28.                                     "brands": [],
  29.                                     "min": 1.00,
  30.                                     "max": 100.00
  31.                                 }) }}" class="text-dark">{{ category.name }}</a>
  32.                             </li>
  33.                         {% endfor %}
  34.                     </ol>
  35.                 </nav>
  36.             </div>
  37.             <div class="col-lg-12 mt-4 mt-lg-0">
  38.                 <div class="products-list main">
  39.                     <div class="row">
  40.                         <section class="bg-white shadow-sm">
  41.                             <div class="">
  42.                                 <div class="row">
  43.                                     <aside class="col-lg-5">
  44.                                         <article class="gallery-wrap">
  45.                                             <div class="img-big-wrap img-thumbnail position-relative"
  46.                                                  style="height: auto">
  47.                                                 {#                                                Brand crumb arborescence #}
  48.                                                 <img
  49.                                                         src="{{ vich_uploader_asset(translated) }}"
  50.                                                         class="img-fluid product-image"
  51.                                                         alt="{{ product.name }}"
  52.                                                 >
  53.                                                 {% if promotion %}
  54.                                                     {% set promotionValue = calculPromotionPercent(product) %}
  55.                                                     {% if promotionValue > 0 %}
  56.                                                         <div class="product-promotion">
  57.                                                             - {{ promotionValue }}%
  58.                                                         </div>
  59.                                                     {% endif %}
  60.                                                 {% endif %}
  61.                                             </div>
  62.                                         </article>
  63.                                         <div>
  64.                                             {{ render(controller('App\\Controller\\App\\WidgetController::giftsProduct',  {product: product.id})) }}
  65.                                         </div>
  66.                                     </aside>
  67.                                     <div class="col-lg-7">
  68.                                         <article class="ps-lg-3">
  69.                                             <h4 class="title text-dark position-relative">
  70.                                                 {{ translated.name }}
  71.                                             </h4>
  72.                                             <div class="text-muted">
  73.                                                 <p>{{ "Marque:" | trans }} {{ product.brand.name }}
  74.                                                     / {{ "Pharmacode:" | trans }} {{ product.pharmacode }}</p>
  75.                                             </div>
  76.                                             <div class="mb-3 d-flex">
  77.                                                 {% if promotion %}
  78.                                                     <h3 class="price h4 text-primary2">CHF <span
  79.                                                                 id="product_promotion_price"
  80.                                                                 data-promotion="{{ calculPromotionPercent(product) }}">{{ (product.price - product.pricePromotion) | number_format(2) }}</span>
  81.                                                     </h3>
  82.                                                     <h3 class="price h4 text-decoration-line-through ps-4">
  83.                                                         CHF <span
  84.                                                                 id="product_price">{{ product.price | number_format(2) }}</span>
  85.                                                     </h3>
  86.                                                 {% else %}
  87.                                                     <h3 class="price h4">
  88.                                                         CHF <span
  89.                                                                 id="product_price">{{ product.price | number_format(2) }}</span>
  90.                                                     </h3>
  91.                                                 {% endif %}
  92.                                             </div>
  93.                                             <hr>
  94.                                             <div class="row g-2 mt-3">
  95.                                                 <div class="col-lg-12">
  96.                                                     <div class="d-flex align-items-center">
  97.                                                         <span class="rounded-circle text-primary" style="width: 30px">
  98.                                                             <i class="fa fa-check-circle"></i>
  99.                                                         </span>
  100.                                                         <p class="title m-0 fw-bolder">{{ "Click and collect" | trans }}</p>
  101.                                                     </div>
  102.                                                 </div>
  103.                                                 <div class="col-lg-12">
  104.                                                     <div class="d-flex align-items-center">
  105.                                                         <span class="rounded-circle text-primary" style="width: 30px">
  106.                                                             <i class="fa fa-shipping-fast"></i>
  107.                                                         </span>
  108.                                                         <div class="pe-lg-4">
  109.                                                             <p class="title m-0 fw-bolder">{{ "Approvisionnement rapide" | trans }}</p>
  110.                                                         </div>
  111.                                                     </div>
  112.                                                 </div>
  113.                                                 <div class="col-lg-12">
  114.                                                     {{ include('elements/pagesElements/products/_product_stock.html.twig', {product: product}) }}
  115.                                                 </div>
  116.                                             </div>
  117.                                             <div class="row mt-4 align-items-center">
  118.                                                 {#                                                <div class="col-sm-12 col-lg-5"> #}
  119.                                                 {#                                                    <label for="" class="fw-bold">{{ "VARIETE" | trans }}: </label> #}
  120.                                                 {#                                                    <select name="" id="product_attribute_list" #}
  121.                                                 {#                                                            class="form-select rounded-pill"> #}
  122.                                                 {#                                                        <option disabled selected>{{ "Choix variété" | trans }}</option> #}
  123.                                                 {#                                                        {% for title, terms in attributs %} #}
  124.                                                 {#                                                            <option disabled>{{ title }}</option> #}
  125.                                                 {#                                                            {% for term in terms %} #}
  126.                                                 {#                                                                <option value="{{ term['id'] }}" #}
  127.                                                 {#                                                                        data-attribut-id="{{ term['id'] }}" #}
  128.                                                 {#                                                                        data-price="{{ term['price'] ? term['price'] | number_format(2) :  product.price | number_format(2) }}" #}
  129.                                                 {#                                                                        data-product="{{ product.id }}" #}
  130.                                                 {#                                                                > #}
  131.                                                 {#                                                                    {{ term['term'] }} #}
  132.                                                 {#                                                                </option> #}
  133.                                                 {#                                                            {% endfor %} #}
  134.                                                 {#                                                        {% endfor %} #}
  135.                                                 {#                                                    </select> #}
  136.                                                 {#                                                </div> #}
  137.                                                 <div class="col-sm-12 col-lg-3 mt-3 mt-lg-0">
  138.                                                     <label for="" class="fw-bold">{{ "QUANTITE" | trans }}: </label>
  139.                                                     <div class="d-flex align-items-center py-1">
  140.                                                         <div class="qt-item" data-qt-down
  141.                                                              data-product="{{ product.id }}">
  142.                                                             <i class="fas fa-minus"></i>
  143.                                                         </div>
  144.                                                         <div class="qt-count" style="user-select: none">1</div>
  145.                                                         <div class="qt-item" data-qt-up data-product="{{ product.id }}">
  146.                                                             <i class="fas fa-plus"></i>
  147.                                                         </div>
  148.                                                     </div>
  149.                                                 </div>
  150.                                                 <div class="col-sm-12 col-lg-4 mt-3 mt-lg-0">
  151.                                                     {{ include('elements/pagesElements/products/_product_add_cart_btn.html.twig', {small: false, product: product, disabled: product.stock < 1}) }}
  152.                                                 </div>
  153.                                             </div>
  154.                                             {% set produtPrestations = product.productsPrestations %}
  155.                                             {% if produtPrestations|length > 0 %}
  156.                                                 <hr>
  157.                                                 <h6>{{ "Listes des prestations associé" | trans }}</h6>
  158.                                                 <div class="row mt-3 g-3">
  159.                                                     {% for service in produtPrestations %}
  160.                                                         <div class="col-4 col-lg-4 text-center product_prestations_item cursor-pointer"
  161.                                                              data-icon="{{ service.prestation.icon }}"
  162.                                                              data-title="{{ service.prestation.name }}"
  163.                                                              data-description="{{ service.prestation.description }}"
  164.                                                         >
  165.                                                             <img src="{{ service.prestation.icon }}"
  166.                                                                  alt="{{ service.prestation.id }}" height="32">
  167.                                                             <p class="m-0">{{ service.prestation.name }}</p>
  168.                                                         </div>
  169.                                                     {% endfor %}
  170.                                                 </div>
  171.                                             {% endif %}
  172.                                         </article>
  173.                                         {# Service lié à afficher #}
  174.                                     </div>
  175.                                 </div>
  176.                             </div>
  177.                         </section>
  178.                     </div>
  179.                 </div>
  180.                 {{ include('elements/pagesElements/products/_products_detail_information.html.twig') }}
  181.                 {{ include('elements/pagesElements/products/_products_buyed_with.html.twig') }}
  182.                 {{ include('elements/pagesElements/products/_products_detail_recommanded.html.twig') }}
  183.             </div>
  184.         </div>
  185.     </div>
  186.     {{ include('elements/pagesElements/products/_product_modal_prestation.html.twig') }}
  187. {% endblock %}
  188. {% block javascripts %}
  189.     {{ parent() }}
  190.     {{ encore_entry_script_tags('online_shop') }}
  191. {% endblock %}