templates/produit/produits.html.twig line 1

  1. {% extends 'base.html.twig' %}
  2. {% block stylesheets %}
  3.     <link rel="stylesheet" href="{{ asset('assets/css/produit.min.css') }}" />
  4.     <link rel="stylesheet" href="{{ asset('assets/css/accueil.min.css') }}" />
  5. {% endblock %}
  6. {% block javascript %}
  7.     <script src="{{ asset('assets/js/produit/produit.js') }}"></script>
  8.     <script src="{{ asset('assets/js/accueil/accueil.js') }}"></script>
  9. {% endblock %}
  10. {% block title %}
  11.     {% for content in contents %}
  12.         {{ content.name|raw }}
  13.     {% endfor %}
  14. {% endblock %}
  15. {% block description %}
  16. {% endblock %}
  17. {% block content %}
  18.     <div class="row px-4 mt-3">
  19.         {% if instrumentation is not defined %}
  20.             <div class="col-md-3 col-12">
  21.                 <form action="#" id="layered_form">
  22.                     <div id="enabled_filters" class="d-none">
  23.                         <span class="layered_subtitle" style="float: none;"> {{ 'active.filter'|trans({}, 'configurateur')|raw }} : </span>
  24.                         <ul class="p-0 m-0 border" style="list-style: none;">
  25.                         </ul>
  26.                     </div>
  27.                     <div id="layered_block_left">
  28.                         <div class="layered_filter">
  29.                             <div class="layered_subtitle_heading block-borderbox">
  30.                                 <div class="title_block"><span>{{ 'capacite'|trans({}, 'configurateur')|raw }}</span></div>
  31.                             </div>
  32.                             <ul id="ul_layered_id_attribute_group_4" class="col-lg-12 layered_filter_ul filtercapacite">
  33.                                 {% for category in categories|filter(c => c.id_attribute_group == 4) %}
  34.                                     <li class="nomargin hiddable col-lg-12">
  35.                                         <input type="checkbox" class="filtercheckbox" name="layered_id_attribute_group_{{ category.id_attribute }}" id="layered_id_attribute_group_{{ category.id_attribute }}" value="{{ category.id_attribute }}_{{ category.id_attribute_group }}">
  36.                                             <label for="layered_id_attribute_group_{{ category.id_attribute }}">
  37.                                             <div class="cat">{{ category.name }}<span class="product_count"> ({{ category.product_count }})</span></div>
  38.                                         </label>
  39.                                     </li>
  40.                                 {% endfor %}
  41.                             </ul>
  42.                         </div>
  43.                         <div class="layered_filter">
  44.                             <div class="layered_subtitle_heading block-borderbox">
  45.                                 <div class="title_block"><span>{{ 'precision'|trans({}, 'configurateur')|raw }}</span></div>
  46.                             </div>
  47.                             <ul id="ul_layered_id_attribute_group_5" class="col-lg-12 layered_filter_ul filterprecision">
  48.                                 {% for category in categories|filter(c => c.id_attribute_group == 5) %}
  49.                                     <li class="nomargin hiddable col-lg-12">
  50.                                         <input type="checkbox" class="filtercheckbox" name="layered_id_attribute_group_{{ category.id_attribute }}" id="layered_id_attribute_group_{{ category.id_attribute }}" value="{{ category.id_attribute }}_{{ category.id_attribute_group }}">
  51.                                             <label for="layered_id_attribute_group_{{ category.id_attribute }}">
  52.                                             <div class="cat">{{ category.name }}<span class="product_count"> ({{ category.product_count }})</span></div>
  53.                                         </label>
  54.                                     </li>
  55.                                 {% endfor %}
  56.                             </ul>
  57.                         </div>
  58.                         <div class="layered_filter">
  59.                             <div class="layered_subtitle_heading block-borderbox">
  60.                                 <div class="title_block"><span>{{ 'sens.travail'|trans({}, 'configurateur')|raw }}</span></div>
  61.                             </div>
  62.                             <ul id="ul_layered_id_feature_532" class="col-lg-12 layered_filter_ul filterfeature">
  63.                                 {% for feature in features %}
  64.                                     <li class="nomargin hiddable col-lg-12">
  65.                                         <input type="checkbox" class="filtercheckbox" name="layered_id_attribute_group_{{ feature.id_feature }}" id="layered_id_attribute_group_{{ feature.id_feature }}" value="{{ feature.id_feature }}">
  66.                                             <label for="layered_id_attribute_group_{{ feature.id_feature }}">
  67.                                             <div class="cat">{{ feature.value }}<span class="product_count"> ({{ feature.product_count }})</span></div>
  68.                                         </label>
  69.                                     </li>
  70.                                 {% endfor %}
  71.                             </ul>
  72.                         </div>
  73.                     </div>
  74.                 </form>
  75.             </div>
  76.         {% endif %}
  77.         <div class="{{ instrumentation is defined ? 'col-md-12' : 'col-md-9' }} col-12">
  78.             {% for content in contents %}
  79.                 <div class="BoxCatName" style="background-image: url('/ps/img/c/{{ content.id_category }}-0_thumb.jpg')">
  80.                     <h1>{{ content.name }}</h1>
  81.                     <h2>{{ content.subtitle }}</h2>
  82.                 </div>
  83.                 <div class="row mt-3">
  84.                     <div id="DescriptionCategory" class="col-8 position-relative ps-0">
  85.                         <div class="overflow-hidden">
  86.                             <div class="fadeout"></div>
  87.                                 {{ content.description|raw }}
  88.                             <div id="ReadMore" style="">{{ 'savoir.plus'|trans({}, 'configurateur')|raw }} <i class="fa-solid fa-angle-down fa-sm"></i></div>
  89.                             <div id="ReadLess" style="display: none;">{{ 'reduire'|trans({}, 'configurateur')|raw }}</div>
  90.                         </div>
  91.                     </div>
  92.                     <div class="col-4">
  93.                         <div id="BoutonDown" data-product-id="26" data-shop-id="{{ content.id_shop }}">
  94.                             <a href="{{ content.pdflink }}" target="_blank" class="d-flex">
  95.                                 <i class="fas fa-download" style="color: #fff;"></i>
  96.                                 <div>
  97.                                     <span>PDF</span><br>
  98.                                     <span class="LigneDeux">PRODUCT OVERVIEW</span>
  99.                                 </div>
  100.                             </a>
  101.                         </div>
  102.                     </div>
  103.                 </div>
  104.                 <div class="list-unstyled nopadding product_list products-block grid clearfix style1 row ms-0 me-1">
  105.                     {% set varFilter = instrumentation is defined ? null : 18 %}
  106.                     {% for product in products|filter(p => p.category_default != varFilter) %}
  107.                         <div class="product owl-wrapper col-xs-cus-12 col-xs-4 col-sm-3 col-md-3 col-lg-3 p-0" data-col-lg="3" data-col-md="3" data-col-sm="3" data-col-xs="4">
  108.                             <div class="item clearfix">
  109.                                 <div class="ajax_block_product">
  110.                                     <div class="product-block position-relative" itemscope="" itemtype="https://schema.org/Product" style="position: static; margin-right: 0px; margin-left: 0px;">
  111.                                         <div class="product-container">
  112.                                             <div class="Certifications">
  113.                                                 {% for supplier in product.suppliers|split(',') %}
  114.                                                     {% set imagePath = '../../../ps/img/su/' ~ product.id_suppliers|split(',')[loop.index0] %}
  115.                                                     {% set imageName = product.id_suppliers|split(',')[loop.index0] %}
  116.                                                     {% set imageExtension = (imageName == '4') ? 'png' : 'jpg' %}
  117.                                                     <img width="20px" height="20px" src="{{ imagePath ~ '.' ~ imageExtension }}" alt="{{ supplier }}" title="{{ supplier }}">
  118.                                                 {% endfor %}
  119.                                             </div>
  120.                                             <div class="left-block">
  121.                                                 <div class="product-image-container image">
  122.                                                     <a class="img product_img_link" href="/{{ lang }}/{{ content.link_rewrite }}/{{ product.link_rewrite }}" title="{{ product.name }}" itemprop="url">
  123.                                                         <img class="replace-2x img-responsive pts-image" src="https://www.sensy.com/{{ product.id_image1 }}-home_default/{{ product.link_rewrite }}.jpg" alt="{{ product.legend1 }}" title="{{ product.legend1 }}" itemprop="image">
  124.                                                     </a>
  125.                                                     {% if product.id_image2 %}
  126.                                                         <span class="hover-image">
  127.                                                             <a class="img-back product_img_link" href="/{{ lang }}/{{ content.link_rewrite }}/{{ product.link_rewrite }}" title="{{ product.name }}">
  128.                                                                 <img class="replace-2x img-responsive pts-image" src="https://www.sensy.com/{{ product.id_image2 }}-home_default/{{ product.link_rewrite }}.jpg" alt="{{ product.legend2 }}" title="{{ product.legend2 }}" width="370" height="340">
  129.                                                             </a>
  130.                                                         </span>
  131.                                                     {% endif %}
  132.                                                 </div>
  133.                                                 <div class="product-label-wrap"></div>
  134.                                                 <div class="color-list-container product-colors"></div>
  135.                                             </div>
  136.                                             <div class="right-block">
  137.                                                 <div class="product-meta">
  138.                                                     <h4 class="name" itemprop="sku"> <a class="product-name" href="/{{ lang }}/{{ content.link_rewrite }}/{{ product.link_rewrite }}" title="{{ product.name }}" itemprop="url">{{ product.reference }}</a></h4>
  139.                                                     <div class="product-desc description" itemprop="name"> {{ product.name }}</div>
  140.                                                     <div class="clearfix product-box"></div>
  141.                                                 </div>
  142.                                                 <div class="button-container action" style="padding-left: 20%;">
  143.                                                     <div>
  144.                                                         <div class="pts-atchover"><a class="btn" href="/{{ lang }}/{{ content.link_rewrite }}/{{ product.link_rewrite }}" data-id-product="{{ product.id_product }}" title="{{ 'details'|trans({}, 'configurateur')|raw }}"><i class="fas fa-search"></i></a></div>
  145.                                                         <div class="pts-atchover"><a class="btn " href="//files.sensy.com/datasheets/{{ product.file_name }}" target="_blank" title="{{ 'datasheet'|trans({}, 'configurateur')|raw }}"><i class="fas fa-download"></i></a></div>
  146.                                                         <div class="pts-atchover"><a class="btn add_to_compare" href="/{{ lang }}/{{ content.link_rewrite }}/{{ product.link_rewrite }}" data-id-product="{{ product.id_product }}" title="{{ 'add.compare'|trans({}, 'configurateur')|raw }}"><i class="fas fa-sync-alt"></i></a></div>
  147.                                                     </div>
  148.                                                 </div>
  149.                                             </div>
  150.                                         </div>
  151.                                         <div class="SousProduit ShadowBox" style="display: none;">
  152.                                             <table class="mx-1">
  153.                                                 <tbody>
  154.                                                     {% if product.attr_prec %}
  155.                                                         <tr class="precision" data-id={{ product.id_attr_prec }}>
  156.                                                             <td>{{ 'precision'|trans({}, 'configurateur')|raw }}</td>
  157.                                                             <td>{{ product.attr_prec|replace({',': ', '})|truncate(25) }}</td>
  158.                                                         </tr>
  159.                                                     {% endif %}
  160.                                                     {% if product.attr_cap %}
  161.                                                         <tr class="capacite" data-id={{ product.id_attr_cap }}>
  162.                                                             <td>{{ 'capacite'|trans({}, 'configurateur')|raw }}</td>
  163.                                                             <td>{{ product.attr_cap|replace({',': ', '})|truncate(25) }}</td>
  164.                                                         </tr>
  165.                                                     {% endif %}
  166.                                                     {% if product.id_feat %}
  167.                                                         <tr class="feature d-none" data-id={{ product.id_feat }}></tr>
  168.                                                     {% endif %}
  169.                                                     <tr>
  170.                                                         <td colspan="2" class="TableDescription" itemprop="description">{{ product.description|raw }}</td>
  171.                                                     </tr>
  172.                                                 </tbody>
  173.                                             </table>
  174.                                         </div>
  175.                                         <div itemprop="brand" itemscope="" itemtype="https://schema.org/Brand">
  176.                                             <meta itemprop="name" content="SENSY">
  177.                                         </div>
  178.                                         <div itemprop="offers" itemscope="" itemtype="https://schema.org/Offer">
  179.                                             <meta itemprop="price" content="">
  180.                                             <meta itemprop="priceCurrency" content="EUR">
  181.                                             <link itemprop="availability" href="https://schema.org/InStock">
  182.                                             <meta itemprop="url" content="/{{ lang }}/{{ content.link_rewrite }}/{{ product.link_rewrite }}">
  183.                                         </div>
  184.                                     </div>
  185.                                 </div>
  186.                             </div>
  187.                         </div>
  188.                     {% endfor %}
  189.                 </div>
  190.                 {% if instrumentation is not defined %}
  191.                     <div class="pts-container">
  192.                         <div class="pts-inner container">
  193.                             <div class="row-inner row-level-1">
  194.                                 <div class="row clearfix">
  195.                                     <div class="col-lg-12 col-md-12 col-sm-12 col-12 p-0">
  196.                                         <div class="col-inner space-60">
  197.                                             <div class="widget-bloglatest">
  198.                                                 <div class="pts-widget">
  199.                                                     <div class="widget-latestblog block block-borderbox">
  200.                                                         <h3 class="title_block"><span>{{ 'electronique'|trans({}, 'configurateur')|raw }}</span></h3>
  201.                                                         <div class="block_content border-0">
  202.                                                             <div class=" boxcarousel widget-content owl-carousel-play" data-ride="owlcarousel">
  203.                                                                 <div class="carousel-controls">
  204.                                                                     <div class="left carousel-control left_carousel disabled">
  205.                                                                         <i class="fa-solid fa-angle-left fa-sm"></i>
  206.                                                                     </div>
  207.                                                                     <div class="right carousel-control right_carousel">
  208.                                                                         <i class="fa-solid fa-angle-right fa-sm"></i>
  209.                                                                     </div>
  210.                                                                 </div>
  211.                                                                 <div class="owl-carousel grid owl-theme" data-columns="3" data-pagination="false" data-navigation="true" data-desktop="[1200,3]" data-desktopsmall="[992,2]" data-tablet="[768,1]" data-mobile="[480,1]">
  212.                                                                     <div class="owl-wrapper-outer" style="height: 430px;">
  213.                                                                         <div class="owl-wrapper">
  214.                                                                             {% for product in products|filter(p => p.category_default == 18) %}
  215.                                                                                 <div class="owl-item {{ loop.first ? 'active' : '' }}" style="width: 250px;">
  216.                                                                                     <div class="item">
  217.                                                                                         <div class="blog_container grid clearfix">
  218.                                                                                             <div class="product-block position-relative" itemscope="" itemtype="https://schema.org/Product" style="position: static; margin-right: 0px; margin-left: 0px;">
  219.                                                                                                 <div class="product-container">
  220.                                                                                                     <div class="Certifications">
  221.                                                                                                         {% for supplier in product.suppliers|split(',') %}
  222.                                                                                                             {% set imagePath = '../../../ps/img/su/' ~ product.id_suppliers|split(',')[loop.index0] %}
  223.                                                                                                             {% set imageName = product.id_suppliers|split(',')[loop.index0] %}
  224.                                                                                                             {% set imageExtension = (imageName == '4') ? 'png' : 'jpg' %}
  225.                                                                                                             <img width="20px" height="20px" src="{{ imagePath ~ '.' ~ imageExtension }}" alt="{{ supplier }}" title="{{ supplier }}">
  226.                                                                                                         {% endfor %}
  227.                                                                                                     </div>
  228.                                                                                                     <div class="left-block">
  229.                                                                                                         <div class="product-image-container image">
  230.                                                                                                             <a class="img product_img_link" href="/{{ lang }}/{{ content.link_rewrite }}/{{ product.link_rewrite }}" title="{{ product.name }}" itemprop="url">
  231.                                                                                                                 <img class="replace-2x img-responsive pts-image" src="https://www.sensy.com/{{ product.id_image1 }}-home_default/{{ product.link_rewrite }}.jpg" alt="{{ product.legend1 }}" title="{{ product.legend1 }}" itemprop="image">
  232.                                                                                                             </a>
  233.                                                                                                             {% if product.id_image2 %}
  234.                                                                                                                 <span class="hover-image"> 
  235.                                                                                                                     <a class="img-back product_img_link" href="/{{ lang }}/{{ content.link_rewrite }}/{{ product.link_rewrite }}" title="{{ product.name }}">
  236.                                                                                                                         <img class="replace-2x img-responsive pts-image" src="https://www.sensy.com/{{ product.id_image2 }}-home_default/{{ product.link_rewrite }}.jpg" alt="{{ product.legend2 }}" title="{{ product.legend2 }}" width="370" height="340">
  237.                                                                                                                     </a>
  238.                                                                                                                 </span>
  239.                                                                                                             {% endif %}
  240.                                                                                                         </div>
  241.                                                                                                         <div class="product-label-wrap"></div>
  242.                                                                                                         <div class="color-list-container product-colors"></div>
  243.                                                                                                     </div>
  244.                                                                                                     <div class="right-block">
  245.                                                                                                         <div class="product-meta">
  246.                                                                                                             <h4 class="name" itemprop="sku"> <a class="product-name" href="/{{ lang }}/{{ content.link_rewrite }}/{{ product.link_rewrite }}" title="{{ product.name }}" itemprop="url">{{ product.reference }}</a></h4>
  247.                                                                                                             <div class="product-desc description" itemprop="name"> {{ product.name }}</div>
  248.                                                                                                             <div class="clearfix product-box"></div>
  249.                                                                                                         </div>
  250.                                                                                                         <div class="button-container action" style="padding-left: 20%;">
  251.                                                                                                             <div>
  252.                                                                                                                 <div class="pts-atchover"><a class="btn" href="/{{ lang }}/{{ content.link_rewrite }}/{{ product.link_rewrite }}" data-id-product="{{ product.id_product }}" title="{{ 'details'|trans({}, 'configurateur')|raw }}"><i class="fas fa-search"></i></a></div>
  253.                                                                                                                 <div class="pts-atchover"><a class="btn " href="//files.sensy.com/datasheets/{{ product.file_name }}" target="_blank" title="{{ 'datasheet'|trans({}, 'configurateur')|raw }}"><i class="fas fa-download"></i></a></div>
  254.                                                                                                                 <div class="pts-atchover"><a class="btn add_to_compare" href="/{{ lang }}/{{ content.link_rewrite }}/{{ product.link_rewrite }}" data-id-product="{{ product.id_product }}" title="{{ 'add.compare'|trans({}, 'configurateur')|raw }}"><i class="fas fa-sync-alt"></i></a></div>
  255.                                                                                                             </div>
  256.                                                                                                         </div>
  257.                                                                                                     </div>
  258.                                                                                                 </div>
  259.                                                                                                 <div class="SousProduit ShadowBox" style="display: none;">
  260.                                                                                                     <table class="mx-1">
  261.                                                                                                         <tbody>
  262.                                                                                                             {% if product.attr_prec %}
  263.                                                                                                                 <tr>
  264.                                                                                                                     <td>{{ 'precision'|trans({}, 'configurateur')|raw }}</td>
  265.                                                                                                                     <td>{{ product.attr_prec|replace({',': ', '})|truncate(25) }}</td>
  266.                                                                                                                 </tr>
  267.                                                                                                             {% endif %}
  268.                                                                                                             {% if product.attr_cap %}
  269.                                                                                                                 <tr>
  270.                                                                                                                     <td>{{ 'capacite'|trans({}, 'configurateur')|raw }}</td>
  271.                                                                                                                     <td>{{ product.attr_cap|replace({',': ', '})|truncate(25) }}</td>
  272.                                                                                                                 </tr>
  273.                                                                                                             {% endif %}
  274.                                                                                                             <tr>
  275.                                                                                                                 <td colspan="2" class="TableDescription" itemprop="description">{{ product.description|raw }}</td>
  276.                                                                                                             </tr>
  277.                                                                                                         </tbody>
  278.                                                                                                     </table>
  279.                                                                                                 </div>
  280.                                                                                                 <div itemprop="brand" itemscope="" itemtype="https://schema.org/Brand">
  281.                                                                                                     <meta itemprop="name" content="SENSY">
  282.                                                                                                 </div>
  283.                                                                                                 <div itemprop="offers" itemscope="" itemtype="https://schema.org/Offer">
  284.                                                                                                     <meta itemprop="price" content="">
  285.                                                                                                     <meta itemprop="priceCurrency" content="EUR">
  286.                                                                                                     <link itemprop="availability" href="https://schema.org/InStock">
  287.                                                                                                     <meta itemprop="url" content="/{{ lang }}/{{ content.link_rewrite }}/{{ product.link_rewrite }}">
  288.                                                                                                 </div>
  289.                                                                                             </div>
  290.                                                                                         </div>
  291.                                                                                     </div>
  292.                                                                                 </div>
  293.                                                                             {% endfor %}
  294.                                                                         </div>
  295.                                                                     </div>
  296.                                                                 </div>
  297.                                                             </div>
  298.                                                         </div>
  299.                                                     </div>
  300.                                                 </div>
  301.                                             </div>
  302.                                         </div>
  303.                                     </div>
  304.                                 </div>
  305.                             </div>
  306.                         </div>
  307.                     </div>
  308.                 {% endif %}
  309.             {% endfor %}
  310.         </div>
  311.     </div>
  312. {% endblock %}