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

Open in your IDE?
  1. {#
  2.         Affichage d'un produit de la boutique
  3. #}
  4. {% extends '@app/base.html.twig' %}
  5. {% block page_title %}{% if product.seoTitle|striptags != '' %}{{ product.seoTitle|striptags }}{% else %}{{ product.designation|striptags }}{% endif %}{% endblock %}
  6. {% block page_description %}{{ product.seoDescription|striptags }}{% endblock %}
  7. {% block page_keywords %}{{ product.seoKeywords|striptags }}{% endblock %}
  8. {% block twitter_title %}{% if product.snTitle|striptags != '' %}{{ product.snTitle|striptags }}{% else %}{{ product.designation|striptags }}{% endif %}{% endblock %}
  9. {% block twitter_description %}{{ product.snDescription|striptags }}{% endblock %}
  10. {% block twitter_image %}{{ uri.protocol ~ uri.host ~  'assets/media/images/uploads/' ~ product.facebook|striptags }}{% endblock %}
  11. {% block facebook_title %}{% if product.snTitle|striptags != '' %}{{ product.snTitle|striptags }}{% else %}{{ product.designation|striptags }}{% endif %}{% endblock %}
  12. {% block facebook_description %}{{ product.snDescription|striptags }}{% endblock %}
  13. {% block facebook_image %}{{ uri.protocol ~ uri.host ~  'assets/media/images/uploads/' ~ product.facebook|striptags }}{% endblock %}
  14. {% block stylesheets %}
  15.     {{ encore_entry_link_tags('shop_product') }}
  16. {% endblock %}
  17. {% block content %}
  18.     <div class="page page-product" data-page="product">
  19.         <meta itemprop="productID" content="{{ product.reference }}"/>
  20.         {# NAVIGATION #}
  21.         {% include '@app/includes/page_navigation.html.twig' %}
  22.         {# BREADCRUMB #}
  23.         {% set breadcrumbs = pages.list.page_default_5fc90f9575cd0.breadcrumbs %}
  24.         {% for item in product.parentsCategory|reverse %}
  25.             {% set breadcrumbs = breadcrumbs|merge([
  26.                 { 'label' : item.thumbTitle|striptags, 'url' : item.slug }
  27.             ]) %}
  28.         {% endfor %}
  29.         {% if pages.active.breadcrumbs|length <= 0 %}
  30.             {% set breadcrumbs = breadcrumbs|merge([
  31.                 { 'label' : product.designation|striptags, 'url' : '' }
  32.             ]) %}
  33.         {% else %}
  34.             {% set breadcrumbs = pages.active.breadcrumbs %}
  35.         {% endif %}
  36.         {% include '@app/includes/page_breadcrumb.html.twig' with {
  37.             'breadcrumb' : breadcrumbs
  38.         } %}
  39.         <div id="product" class="product" data-id="{{ product_manager.product.id }}"
  40.              data-reference="{{ product_manager.product.reference }}" itemscope itemtype="https://schema.org/Product">
  41.             <meta itemprop="url" content="{{ uri.full }}">
  42.             <div class="product-container">
  43.                 <div class="block block-overview">
  44.                     <div class="product-covers" data-aos="fade" data-aos-delay="500" data-aos-anchor="#product"
  45.                          data-aos-anchor-placement="top-bottom" data-count="{{ product.images|length }}">
  46.                         <ul id="product-thumbnails" class="product-thumbnails cS-hidden">
  47.                             {% if configuration.useFiligrane == 1 %}
  48.                                 {% set filters = 'filigrane' %}
  49.                             {% else %}
  50.                                 {% set filters = 'thumbnail' %}
  51.                             {% endif %}
  52.                             {% set sourceConfiguration = {"thumbnail": {"size": [2920, 2080], "mode" : "outbound" }} %}
  53.                             {% set thumbConfiguration = {"thumbnail": {"size": [150, 150], "mode" : "outbound" }} %}
  54.                             <li style="background-image:url({{ product.cover|imagine_filter(filters,sourceConfiguration ) }})"
  55.                                 data-thumb="{{ product.cover|imagine_filter(filters,thumbConfiguration ) }}"
  56.                                 data-src="{{ product.cover|imagine_filter(filters,sourceConfiguration ) }}">
  57.                                 <img src="{{ product.cover|imagine_filter(filters,sourceConfiguration ) }}" alt="">
  58.                             </li>
  59.                                 {% for item in product.images %}
  60.                                     <li style="background-image:url({{ item.image|imagine_filter(filters,sourceConfiguration ) }})"
  61.                                         data-thumb="{{ item.image|imagine_filter(filters,thumbConfiguration ) }}"
  62.                                         data-src="{{ item.image|imagine_filter(filters,sourceConfiguration ) }}">
  63.                                         <img src="{{ item.image|imagine_filter(filters,sourceConfiguration ) }}" alt="">
  64.                                     </li>
  65.                                 {% endfor %}
  66.                         </ul>
  67.                     </div> {# /.product-covers #}
  68.                     <div id="product-informations" class="product-informations">
  69.                         {% include '@app/shopping/includes/product/informations.html.twig' %}
  70.                     </div> {# /.product-overview #}
  71.                 </div> {# /.row #}
  72.                 <div class="block block-asides">
  73.                     <div class="column column-description">
  74.                         {% if product.description|striptags != '' %}
  75.                             <div class="block" data-aos="fade" data-aos-delay="1250" data-aos-anchor="#product"
  76.                              data-aos-anchor-placement="top-center">
  77.                             <p class="block-title">description</p>
  78.                             <div class="block-text">
  79.                                 {% if product.description|striptags != '' %}
  80.                                     {{ product.description|raw }}
  81.                                 {% else %}
  82.                                     <p>Description indisponible</p>
  83.                                 {% endif %}
  84.                             </div>
  85.                         </div>
  86.                         {% endif %}
  87.                         {% if product.utilisation|striptags != '' %}
  88.                             <div class="block" data-aos="fade" data-aos-delay="1400" data-aos-anchor="#product"
  89.                                  data-aos-anchor-placement="top-center">
  90.                                 <p class="block-title">Conseils d'utilisation</p>
  91.                                 <div class="block-text">
  92.                                     {% if product.utilisation|striptags != '' %}
  93.                                         {{ product.utilisation|raw }}
  94.                                     {% else %}
  95.                                         <p>Description indisponible</p>
  96.                                     {% endif %}
  97.                                 </div>
  98.                             </div>
  99.                         {% endif %}
  100.                     </div>
  101.                     <div class="column column-technique">
  102.                         {#                        <div class="block">#}
  103.                         {#                            <p class="block-title">informations techniques</p>#}
  104.                         {#                            <ul class="block-list">#}
  105.                         {#                                {% if product.features|length > 0 %}#}
  106.                         {#                                    {% for item in product.features %}#}
  107.                         {#                                        <li class="block-item">#}
  108.                         {#                                            {{ item.group.designation|striptags }} : {{ item.featureValue|striptags }}#}
  109.                         {#                                        </li>#}
  110.                         {#                                    {% endfor %}#}
  111.                         {#                                {% endif %}#}
  112.                         {#                            </ul>#}
  113.                         {#                            {% if product.features|length <= 0 %}#}
  114.                         {#                                <div class="block-empty">#}
  115.                         {#                                    <p>Aucune information technique disponible</p>#}
  116.                         {#                                </div>#}
  117.                         {#                            {% endif %}#}
  118.                         {#                        </div>#}
  119.                         {% if product.ingredients|striptags != '' %}
  120.                             <div class="block" data-aos="fade" data-aos-delay="1550" data-aos-anchor="#product"
  121.                                  data-aos-anchor-placement="top-center">
  122.                                 <p class="block-title">ingrédients</p>
  123.                                 <div class="block-text">
  124.                                     {% if product.ingredients|striptags != '' %}
  125.                                         {{ product.ingredients|raw }}
  126.                                     {% else %}
  127.                                         <p>Description indisponible</p>
  128.                                     {% endif %}
  129.                                 </div>
  130.                             </div>
  131.                         {% endif %}
  132.                         {% if product.indication|striptags != '' %}
  133.                             <div class="block" data-aos="fade" data-aos-delay="1700" data-aos-anchor="#product"
  134.                                  data-aos-anchor-placement="top-center">
  135.                                 <p class="block-title">indication</p>
  136.                                 <div class="block-text">
  137.                                     {% if product.indication|striptags != '' %}
  138.                                         {{ product.indication|raw }}
  139.                                     {% else %}
  140.                                         <p>Description indisponible</p>
  141.                                     {% endif %}
  142.                                 </div>
  143.                             </div>
  144.                         {% endif %}
  145.                     </div>
  146.                 </div>
  147.             </div> {# /.product-container #}
  148.         </div> {# /.product #}
  149.         {# PRODUCTS #}
  150.         {% include '@app/shopping/includes/products/slider.html.twig' with {
  151.             "title" : "Produits similaires" ,
  152.             "description" : "",
  153.             "products" : slider_products,
  154.         } %}
  155.         {# FOOTER #}
  156.         {% include '@app/includes/page_footer.html.twig' %}
  157.     </div> {# /.page-product #}
  158. {% endblock %}
  159. {% block javascripts %}
  160.     <script src="{{ asset('assets/vendor/lightslider-1.1.6/js/lightslider.min.js') }}"></script>
  161.     <script src="{{ asset('assets/vendor/lightgallery-1.6.11/js/lightgallery.min.js') }}"></script>
  162.     <script>
  163.         let page_variables = {
  164.             'url': {
  165.                 'cart_product_add': "{{ path('shopping_cart_product_add') }}",
  166.                 'product_devis': "{{ path('shopping_product_devis') }}",
  167.                 'product_shop': "{{ path('shopping_product_shop') }}",
  168.                 'product_stock_rupture': "{{ path('shopping_product_stock_rupture') }}",
  169.                 'search_products_availiables': "{{ path('shopping_products_availiables') }}",
  170.             },
  171.             'product': {
  172.                 'id': "{{ product.id|striptags }}"
  173.             },
  174.             'messages': {
  175.                 'cart_button_add': "Ajouter au panier",
  176.                 'product_button_devis': "Envoyer",
  177.                 'product_button_shop': "Envoyer",
  178.                 'product_button_stock_rutpure': "Envoyer",
  179.                 'product_devis_sent': "Demande de devis envoyée !",
  180.                 'product_shop_sent': "Demande d'informations envoyée !",
  181.                 'product_stock_rupture_sent': "Demande d'informations envoyée !",
  182.                 'product_devis_error_fire': "Une erreur est survenue",
  183.                 'product_shop_error_fire': "Une erreur est survenue",
  184.                 'product_stock_rupture_error_fire': "Une erreur est survenue",
  185.                 'cart_button_error_fire': "Une erreur est survenue",
  186.             }
  187.         };
  188.     </script>
  189.     {{ encore_entry_script_tags('shop_product') }}
  190. {% endblock %}