templates/front/product.html.twig line 1

Open in your IDE?
  1. {% extends "base.html.twig" %}
  2. {% set category = subCategory.category %}
  3. {% set h1 = product.h1 %}
  4. {% block metaTags %}
  5.     <meta name="description" content="{{ product.metaDescription }}">
  6.     <title>{{ product.metaTitle }}</title>
  7.     <meta property="og:title" content="{{ product.metaTitle }}">
  8.     <meta property="og:description" content="{{ product.metaDescription }}">
  9.     <meta property="og:image"
  10.           content="{{ product.productFileName ? absolute_url(asset(vich_uploader_asset(product, 'productFile')))|imagine_filter('large') : absolute_url(asset(vich_uploader_asset(subCategory.category, 'categoryFile')))|imagine_filter('large') }}">
  11. {% endblock %}
  12. {% block body %}
  13.     <section class="position-relative bgp-center bgs-cover header-presentation first-section"
  14.              style="background-image:linear-gradient(rgba(0, 0, 0, 0.5),rgba(0, 0, 0, 0.5)),url({{ product.productFileName ? asset(vich_uploader_asset(product, 'productFile'))|imagine_filter('large') : asset(vich_uploader_asset(subCategory.category, 'categoryFile'))|imagine_filter('large') }})">
  15.         <img src="{{ asset('assets/img/points_blue.svg') }}" class="position-absolute t-120 l-0 zi-0"
  16.              alt="points icon"/>
  17.         <div class="container position-relative mihe-480-sm mihe-500  d-flex  align-items-center w-100">
  18.             <img src="{{ asset('assets/img/points_blue.svg') }}" class="position-absolute b-45 r--20 zi-9"
  19.                  alt="points icon"/>
  20.             <div class="position-absolute t-20 l-20 zi-99">
  21.                 {#                {% include "front/menu.html.twig" with {'menu':{("menu.presentation"|trans):path("front_presentation")} %} #}
  22.                 {% include "front/menu.html.twig" with {'menu':{
  23.                     (category.title):path("front_products", {'catSlug':category.slug}),
  24.                     (subCategory.title):path("front_sub_category", { "slug":subCategory.slug}),
  25.                     (product.title):"#",
  26.                 }, "whiteMenu":true, "isBold":true} %}
  27.             </div>
  28.             <div class="position-relative zi-9 w-100 pay-50">
  29.                 <div class="row align-items-center justify-content-center">
  30.                     <div class="col-lg-8 col-md-7 col-sm-6 position-relative t-0-sm t-80">
  31.                         <h2 data-aos="fade-down" data-aos-duration="800"
  32.                             class="text-center text-sm-left c-white fs-70 fw-600 mab-35-sm mab-15 position-relative">
  33.                             {{ product.title }}
  34.                         </h2>
  35.                         <div class="d-flex cg-5 flex-wrap justify-content-center-sm">
  36.                             <div data-aos="fade-in" data-aos-duration="800"
  37.                                  class="pax-10 may-5 pay-5 br-8 mar-15 ls-custom4 text-uppercase d-table fs-11 c-white fw-600 bs-solid bw-1  {{ product.isHardware ? "bgc-648EFB bc-648EFB" : "bgc-22E0BD bc-22E0BD" }}">
  38.                                 {{ product.isHardware ? "hardware.title"|trans : "software.title"|trans }}
  39.                             </div>
  40.                             <div class="d-flex flex-wrap justify-content-center-sm">
  41.                                 {% for key, productSubCategory in product.productSubCategories %}
  42.                                     <a data-aos="fade-in" data-aos-duration="800"
  43.                                        data-aos-delay="{{ (loop.index)*200 }}"
  44.                                        class="may-5 pax-10 pay-5 mar-15 br-8 ls-custom4 text-uppercase d-table fs-11 c-white fw-600 bs-solid bw-1"
  45.                                        href="{{ path('front_products', {'subCatSlug':productSubCategory.subCategory.slug, "catSlug":productSubCategory.subCategory.category.slug}) }}">
  46.                                         {{ productSubCategory.subCategory.title }}
  47.                                     </a>
  48.                                 {% endfor %}
  49.                             </div>
  50.                         </div>
  51.                     </div>
  52.                     <div class="col-lg-4 col-md-5 col-sm-6 col-8 col-10-custom" data-aos="fade-left"
  53.                          data-aos-duration="800"
  54.                          data-aos-delay="600">
  55.                         <div class="br-20 t-90-lg t-120 overflow-hidden bgc-EEF2F5 position-relative pay-50-md pay-30 he-380-lg he-300 d-flex align-items-center justify-content-center pax-30-md pax-20 text-center">
  56.                             <div class="d-flex position-absolute l-15 t-15 zi-99">
  57.                                 {% for key, phaseEvolution in getProductPhaseEvolutions(product) %}
  58.                                     {% set phaseEvolutionFile = getPhaseEvolutionFile(phaseEvolution, product) %}
  59.                                     {% if phaseEvolutionFile %}
  60.                                         <div class="mar-3 position-relative">
  61.                                             <img src="{{ asset('assets/img/hexagone-big.svg') }}" alt="hexagone"
  62.                                                  class="he-50  {{ category.position == "1" ? "hexagone-green" : (category.position == "2" ? "hexagone-lightBlue") }}"/>
  63.                                             <img src="{{ phaseEvolutionFile }}"
  64.                                                  alt="{{ phaseEvolution.title }}"
  65.                                                  class="img-white mawi-27 position-absolute t-0 b-0  h-auto l-0 r-0 m-auto img-white"/>
  66.                                         </div>
  67.                                     {% endif %}
  68.                                 {% endfor %}
  69.                             </div>
  70.                             <img src="{{ asset('assets/img/bg_support.png') }}" alt="bg_support"
  71.                                  class="overlay  position-absolute t-0 h-100 w-100 l-0"/>
  72.                             <img src="{{ asset(vich_uploader_asset(product, 'product1File'))|imagine_filter('medium') }}"
  73.                                  alt="{{ product.title }}" class="position-relative zi-9 mahep-100 multiply"/>
  74.                             {#   <img src="{{ asset(vich_uploader_asset(presentationParagraph, 'presentationParagraphFile'))|imagine_filter('medium') }}"
  75.                                     alt="View Point" class="br-20 "/> #}
  76.                         </div>
  77.                     </div>
  78.                 </div>
  79.             </div>
  80.         </div>
  81.     </section>
  82.     <div class="menu-sticky d-table">
  83.         <ul class="0">
  84.             {% set productBlocs = {("product.sticky.about"|trans):"#presentation"} %}
  85.             {% set productKeyFeatures = getProductKeyFeatures(product) %}
  86.             {% set productBlocs = (productKeyFeatures ? productBlocs|merge({("product.sticky.features"|trans):"#features"}) : productBlocs) %}
  87.             {% set productHardwareProductAddons = getProductHardwareProductAddons(product) %}
  88.             {% set productBlocs = (productHardwareProductAddons ? productBlocs|merge({("product.sticky.hardware"|trans):"#hardware"}) : productBlocs) %}
  89.             {% set productSoftwareProductAddons = getProductSoftwareProductAddons(product) %}
  90.             {% set productBlocs = (productSoftwareProductAddons ? productBlocs|merge({("product.sticky.software"|trans):"#software"}) : productBlocs) %}
  91.             {% set productProductBrochures = getProductProductBrochures(product) %}
  92.             {% set productBlocs = (productProductBrochures ? productBlocs|merge({("product.sticky.brochure"|trans):"#brochure"}) : productBlocs) %}
  93.             {% set productPublications = getProductPublications(product) %}
  94.             {% set productBlocs = (productPublications ? productBlocs|merge({("product.sticky.publications"|trans):"#publications"}) : productBlocs) %}
  95.             {% set productProductMedias = getProductProductMedias(product) %}
  96.             {% set productBlocs = (productProductMedias ? productBlocs|merge({("product.sticky.medias"|trans):"#medias"}) : productBlocs) %}
  97.             {% set productProducts = getProductProducts(product) %}
  98.             {% set productBlocs = (productProducts ? productBlocs|merge({("product.sticky.solutions"|trans):"#solutions"}) : productBlocs) %}
  99.             {% for key, linkNav in productBlocs %}
  100.                 <li role="button" data-href="{{ linkNav }}" class=" c-9DC771-h pointer c-888888  fw-600 fs-12 mab-10">
  101.                     <a class="  c-inherit  nav-sticky pointer"
  102.                        href="{{ linkNav }}">
  103.                         {{ key }}
  104.                     </a>
  105.                 </li>
  106.             {% endfor %}
  107.         </ul>
  108.     </div>
  109.     <div class="main main-div text-center text-md-left">
  110.         <section id="presentation">
  111.             <div class="pat-110 pab-50  pax-20 pax-0-md section-grey position-relative overflow-hidden">
  112.                 <img src="{{ asset('assets/img/Motif.png') }}" alt="background motif"
  113.                      class="uexpmv w-100 b-0 l-0 img-fit position-absolute"/>
  114.                 <div class="mawi-810 mx-auto position-relative zi-9" data-aos="fade-up" data-aos-duration="800">
  115.                     {% include "front/productIntro.html.twig" with {'title':product.introTitle, "description":product.description} %}
  116.                 </div>
  117.             </div>
  118.             <div class="container">
  119.                 {% include "front/productParagraph.html.twig" with {'productParagraphs':getProductParagraphs(product)} %}
  120.             </div>
  121.         </section>
  122.         {% if productKeyFeatures %}
  123.             <section id="features" class="pay-100-md pay-60 background-blue2 position-relative overflow-hidden">
  124.                 <img src="{{ asset('assets/img/motif1.png') }}" alt="motif1"
  125.                      class="position-absolute t-0 r-0 w-100 l-0"/>
  126.                 <div class="mawi-440 mx-auto position-relative zi-9" data-aos="fade-in" data-aos-duration="800">
  127.                     <div class="surtitle text-center c-204A9A fs-16 mab-25 fw-600 text-uppercase ls-custom3">
  128.                         {{ "product.features.surTitle"|trans|raw }}
  129.                     </div>
  130.                     <h3 class="text-center d-table mx-auto c-333333 fs-38 fw-700 mat-0 mab-35 position-relative">
  131.                         <img src="{{ asset('assets/img/points.svg') }}" class="position-absolute   t--20 l--20 zi-0"
  132.                              alt="points icon"/>
  133.                         {{ "product.features.title"|trans|raw }}</h3>
  134.                 </div>
  135.                 <div class="position-relative zi-9 mx-auto mawi-810 productKeyFeature">
  136.                     {% for key, productKeyFeature in productKeyFeatures %}
  137.                         <div data-aos="fade-up" data-aos-duration="800">
  138.                             <a role="button"
  139.                                class='d-flex align-items-center justify-content-between pointer  togglePublications pay-30 '>
  140.                                 <h3 class='c-204A9A text-left pax-15 fs-22 my-0 fw-600 col '>
  141.                                     {{ productKeyFeature.title }}
  142.                                 </h3>
  143.                                 <div class="col-auto">
  144.                                     <i class="fa-light fs-33 fa-circle-plus c-9DC771"></i>
  145.                                 </div>
  146.                             </a>
  147.                             <div class="content-publications text-left  pax-15 fs-15 fw-500 c-8E9094">
  148.                                 <div class="mab-50">
  149.                                     {{ productKeyFeature.content|raw }}
  150.                                 </div>
  151.                             </div>
  152.                             <hr class='btw-2 bc-CFDEE4 may-0'/>
  153.                         </div>
  154.                     {% endfor %}
  155.                 </div>
  156.             </section>
  157.         {% endif %}
  158.         {% if productHardwareProductAddons %}
  159.             <section id="hardware" class=" section-grey position-relative overflow-hidden pay-110">
  160.                 <img src="{{ asset('assets/img/Motif.png') }}" alt="background motif"
  161.                      class="uexpmv w-100 b-0 l-0 img-fit position-absolute"/>
  162.                 <div class="position-relative zi-9 " data-aos="fade-up" data-aos-duration="800">
  163.                     <div class="surtitle pax-15 text-center c-204A9A mab-20 fs-16 fw-600 text-uppercase ls-custom2">
  164.                         {{ "product.hardwareAddon.surTitle"|trans }}
  165.                     </div>
  166.                     <h3 class="text-center pax-15 d-table mawi-440 mx-auto c-333333 fs-38 fw-700 mat-0 mab-35 position-relative">
  167.                         <img src="{{ asset('assets/img/points.svg') }}"
  168.                              class="position-absolute grayscale2  t--20 l--20 zi-0" alt="points icon"/>
  169.                         {{ product.hardwareAddonTitle }}</h3>
  170.                     <div class="container  ">
  171.                         {% include "front/productAddons.html.twig" with {'class':'hardwareAddonSlider','productProductAddons':productHardwareProductAddons} %}
  172.                     </div>
  173.                 </div>
  174.             </section>
  175.         {% endif %}
  176.         {% if productSoftwareProductAddons %}
  177.             <section id="software" class=" section-grey position-relative overflow-hidden pay-110">
  178.                 <img src="{{ asset('assets/img/Motif.png') }}" alt="background motif"
  179.                      class="uexpmv w-100 b-0 l-0 img-fit position-absolute"/>
  180.                 <div class="position-relative zi-9" data-aos="fade-up" data-aos-duration="800">
  181.                     <div class="surtitle pax-15 text-center c-204A9A mab-20 fs-16 fw-600 text-uppercase ls-custom2">
  182.                         {{ "product.softwareAddon.surTitle"|trans }}
  183.                     </div>
  184.                     <h3 class="text-center pax-15 d-table mawi-440 mx-auto c-333333 fs-38 fw-700 mat-0 mab-35 position-relative">
  185.                         <img src="{{ asset('assets/img/points.svg') }}"
  186.                              class="position-absolute grayscale2  t--20 l--20 zi-0" alt="points icon"/>
  187.                         {{ product.softwareAddonTitle }}</h3>
  188.                     <div class="container ">
  189.                         {% include "front/productAddons.html.twig" with {'class':'softwareAddonSlider','productProductAddons':productSoftwareProductAddons} %}
  190.                     </div>
  191.                 </div>
  192.             </section>
  193.         {% endif %}
  194.         {% if productProductBrochures %}
  195.             <section id="brochure" class="pay-100 background-blue2 position-relative overflow-hidden">
  196.                 <img src="{{ asset('assets/img/motif1.png') }}" alt="motif1"
  197.                      class="position-absolute t-0 r-0 w-100 l-0"/>
  198.                 <div class="mawi-440 mx-auto position-relative zi-9" data-aos="fade-in" data-aos-duration="800">
  199.                     <div class="surtitle text-center c-204A9A fs-16 mab-25 fw-600 text-uppercase ls-custom3">
  200.                         {{ "product.brochure.surTitle"|trans|raw }}
  201.                     </div>
  202.                     <h3 class="text-center d-table mx-auto c-333333 fs-38 fw-700 mat-0 mab-35 position-relative">
  203.                         <img src="{{ asset('assets/img/points.svg') }}" class="position-absolute   t--20 l--20 zi-0"
  204.                              alt="points icon"/>
  205.                         {{ "product.brochure.title"|trans|raw }}</h3>
  206.                 </div>
  207.                 <div class="position-relative zi-9 mx-auto mawi-810 productKeyFeature">
  208.                     {% for key, productProductBrochure in productProductBrochures %}
  209.                         {% set productBrochure = productProductBrochure.productBrochure %}
  210.                         {% set productBrochurePdf = getProductBrochurePdf(productBrochure) %}
  211.                         <div data-aos="fade-up" data-aos-duration="800">
  212.                             <a role="button"
  213.                                class='d-flex align-items-center justify-content-between pointer togglePublications pay-30 '>
  214.                                 <h4 class='c-204A9A pax-15 text-left fs-22 my-0 fw-600 col'>
  215.                                     {{ productBrochure.title }}
  216.                                 </h4>
  217.                                 <div class="col-auto">
  218.                                     <i class="fa-light fs-33 fa-circle-plus c-9DC771"></i>
  219.                                 </div>
  220.                             </a>
  221.                             <div class="content-publications text-left  pax-15 fs-15 fw-500 c-8E9094">
  222.                                 <div class="mab-50">
  223.                                     {{ productBrochure.description|raw }}
  224.                                     {% if productBrochurePdf %}
  225.                                         <div class="mat-15">
  226.                                             <a class="c-9DC771 tdl-underline"
  227.                                                href="{{ asset(vich_uploader_asset(productBrochurePdf, 'productBrochurePdfFile')) }}"
  228.                                                download="{{ productBrochure.title }}">
  229.                                                 <i class="fa-solid fa-file-pdf mar-15"></i>{{ "product.brochure.download"|trans|raw }}
  230.                                             </a>
  231.                                         </div>
  232.                                     {% endif %}
  233.                                 </div>
  234.                             </div>
  235.                             <hr class='btw-2 bc-CFDEE4 may-0'/>
  236.                         </div>
  237.                     {% endfor %}
  238.                 </div>
  239.             </section>
  240.         {% endif %}
  241.         {% if productPublications %}
  242.             <section id="publications" class=" section-grey position-relative overflow-hidden pay-110">
  243.                 <img src="{{ asset('assets/img/Motif.png') }}" alt="background motif"
  244.                      class="uexpmv w-100 b-0 l-0 img-fit position-absolute"/>
  245.                 <div class="position-relative zi-9 container" data-aos="fade-up" data-aos-duration="800">
  246.                     <div class="surtitle text-center c-204A9A mab-20 fs-16 fw-600 text-uppercase ls-custom2">
  247.                         {{ "product.publications.surTitle"|trans }}
  248.                     </div>
  249.                     <h3 class="text-center d-table mawi-440 mx-auto c-333333 fs-38 fw-700 mat-0 mab-35 position-relative">
  250.                         <img src="{{ asset('assets/img/points.svg') }}"
  251.                              class="position-absolute grayscale2  t--20 l--20 zi-0" alt="points icon"/>
  252.                         {{ "product.publications.title"|trans|raw }}</h3>
  253.                     <div class="position-relative">
  254.                         {% if productPublications|length > 3 %}
  255.                             <div class="pointer prev-pub-slid position-absolute l--30-sm l-0 zi-99 t-0 b-0 d-flex align-items-center justify-content-center">
  256.                                 <img src="{{ asset('assets/img/next-arrow.svg') }}" alt="prev arrow" class="rot-180"/>
  257.                             </div>
  258.                             <div class="pointer next-pub-slid  position-absolute r--30-sm r-0 zi-99 t-0 b-0 d-flex align-items-center justify-content-center ">
  259.                                 <img src="{{ asset('assets/img/next-arrow.svg') }}" alt="next arrow"/>
  260.                             </div>
  261.                         {% endif %}
  262.                         <div class="slick-publications-product">
  263.                             {% include "front/publicationsList.html.twig" with {'productPage':1,"publications":productPublications} %}
  264.                         </div>
  265.                     </div>
  266.                     <div class="text-center">
  267.                         <a href="{{ path('front_publications', {'slug':category.slug}) }}" class="mat-70 btn btn1">
  268.                             {{ "product.publications.btn"|trans|raw }} {{ category.title }}
  269.                         </a>
  270.                     </div>
  271.                 </div>
  272.             </section>
  273.         {% endif %}
  274.         <section id="medias"
  275.                  class="pay-100-lg pay-80-md pay-60-sm pay-50 background-blue2 position-relative overflow-hidden">
  276.             <img src="{{ asset('assets/img/motif1.png') }}" alt="motif1"
  277.                  class="position-absolute t-0 r-0 w-100 l-0"/>
  278.             <div class="container position-relative zi-9">
  279.                 <div data-aos="fade-up" data-aos-duration="800"
  280.                      class="surtitle text-center c-204A9A mab-20 fs-16 fw-600 text-uppercase ls-custom2">
  281.                     {{ "product.informations.surTitle"|trans }}
  282.                 </div>
  283.                 <h3 data-aos="fade-up" data-aos-duration="800"
  284.                     class="text-center d-table mx-auto c-333333 fs-38 fw-700 mat-0 mab-35 position-relative">
  285.                     <img src="{{ asset('assets/img/points.svg') }}" class="position-absolute   t--20 l--20 zi-0"
  286.                          alt="points icon"/>
  287.                     {{ "product.informations.title"|trans|raw }}</h3>
  288.                 <p data-aos="fade-up" data-aos-duration="800"
  289.                    class="mawi-740 mx-auto text-center c-8C8C8C fw-500 fs-14 mab-35">
  290.                     {{ "product.informations.intro"|trans|raw }}
  291.                 </p>
  292.                 <div class="d-flex align-items-center justify-content-center">
  293.                     <div data-aos="fade-right" data-aos-duration="800" class="max-6">
  294.                         <a class="btn btn1 br-8"
  295.                            href="{{ path('front_contact', {'slug':product.slug}) }}/#contactFormContainer">{{ "product.informations.contact.btn"|trans|raw }}</a>
  296.                     </div>
  297.                     {% if product.displayDemoBtn %}
  298.                         <div data-aos="fade-left" data-aos-duration="800" class="max-6">
  299.                             <a class="btn btn-white2 br-8"
  300.                                href="{{ path('front_contact', {'slug':product.slug, "isDemo":1}) }}#contactFormContainer">{{ "product.informations.demo.btn"|trans|raw }}
  301.                                 <i class="fa-solid fa-caret-right mal-10"></i></a>
  302.                         </div>
  303.                     {% endif %}
  304.                 </div>
  305.                 {% if productProductMedias %}
  306.                     <div class="position-relative overflow-hidden br-8  mat-100-md mat-70"
  307.                          data-aos="fade-up"
  308.                          data-aos-duration="800">
  309.                         {#  <div class="pointer prev-media-slid bgc-F9FAFE position-absolute he-37 br-50 d-flex align-items-center justify-content-center zi-99 wi-37 l-30 t-0 b-0 my-auto">
  310.                           <i class="fa-light fa-arrow-left c-204A9A"></i>
  311.                       </div>
  312.                       <div class="pointer next-media-slid bgc-F9FAFE  position-absolute he-37 wi-37 br-50 d-flex align-items-center justify-content-center  zi-99 r-30 t-0 b-0 my-auto">
  313.                           <i class="fa-light fa-arrow-right c-204A9A"></i>
  314.                       </div> #}
  315.                         <div class="slick-medias2 position-relative zi-9">
  316.                             {% for key, productProductMedia in productProductMedias %}
  317.                                 {% set productMedia = productProductMedia.productMedia %}
  318.                                 {% if productMedia.youtube %}
  319.                                     <div class="position-relative">
  320.                                         <div class="bgc-media"></div>
  321.                                         <div class="position-absolute text-center fw-600 t-0 b-0 d-flex align-items-center justify-content-center r-0 l-0 w-100 h-100 m-auto">
  322.                                             <div>
  323.                                                 <div class="surtitle c-white ls-custom2 fs-16 text-uppercase ">
  324.                                                     {{ "product.productMedia.surTitle"|trans|raw }}
  325.                                                 </div>
  326.                                                 <div class="mawi-500 mx-auto c-white lh2-13 may-30 fs-38 fw-700">
  327.                                                     {{ productMedia.title }}
  328.                                                 </div>
  329.                                                 <div type="button" data-toggle="modal"
  330.                                                      data-target="#mediaModal{{ loop.index }}"
  331.                                                      class=" he-70 d-flex m-auto align-items-center justify-content-center bgc-9DC771 wi-70 br-50">
  332.                                                     <i class="fa-solid fa-play c-white fs-17"></i>
  333.                                                 </div>
  334.                                             </div>
  335.                                         </div>
  336.                                         <img src="{{ asset(vich_uploader_asset(productMedia, 'productMediaFile'))|imagine_filter('large') }}"
  337.                                              alt="{{ productMedia.title }}" class="br-8 he-650 img-fit w-100"/>
  338.                                     </div>
  339.                                 {% else %}
  340.                                     <div class="position-relative">
  341.                                         <div class="bgc-media h-100 w-100"></div>
  342.                                         <img src="{{ asset(vich_uploader_asset(productMedia, 'productMediaFile'))|imagine_filter('large') }}"
  343.                                              alt="{{ productMedia.title }}" class="br-8 he-650 img-fit w-100"/>
  344.                                     </div>
  345.                                 {% endif %}
  346.                             {% endfor %}
  347.                         </div>
  348.                     </div>
  349.                 {% endif %}
  350.             </div>
  351.         </section>
  352.         {% if productProducts %}
  353.             <section id="solutions" class=" section-grey  position-relative overflow-hidden pay-100-md  pay-70">
  354.                 <img src="{{ asset('assets/img/Motif.png') }}" alt="background motif"
  355.                      class="uexpmv w-100 b-0 l-0 img-fit position-absolute"/>
  356.                 <div class="position-relative zi-9" data-aos="fade-up" data-aos-duration="800">
  357.                     <h3 class=" pax-15 text-center d-table mx-auto c-333333 fs-38 fw-700 mat-0 mab-60 position-relative mawi-460">
  358.                         <img src="{{ asset('assets/img/points.svg') }}"
  359.                              class="position-absolute grayscale2  t--20 l--20 zi-0" alt="points icon"/>
  360.                         {{ "product.subCategory.title"|trans|raw }}</h3>
  361.                     <div class="container">
  362.                         <div class="position-relative">
  363.                             {% if productProducts|length > 3 %}
  364.                                 <div class="pointer prev-prod-rel-slid position-absolute l--30-sm l-0 zi-99 t-0 b-40 d-flex align-items-center justify-content-center">
  365.                                     <img src="{{ asset('assets/img/next-arrow.svg') }}" alt="prev arrow"
  366.                                          class="rot-180"/>
  367.                                 </div>
  368.                                 <div class="pointer next-prod-rel-slid  position-absolute r--30-sm r-0 zi-99 t-0 b-40 d-flex align-items-center justify-content-center">
  369.                                     <img src="{{ asset('assets/img/next-arrow.svg') }}" alt="next arrow"/>
  370.                                 </div>
  371.                             {% endif %}
  372.                             <div class="slick-products">
  373.                                 {% include "front/productsList.html.twig" with {'products':productProducts,'categoryActive':category,'sliderProduct' : true} %}
  374.                             </div>
  375.                         </div>
  376.                     </div>
  377.                 </div>
  378.             </section>
  379.         {% endif %}
  380.     </div>
  381.     {% for key, productProductMedia in productProductMedias %}
  382.         {% set productMedia = productProductMedia.productMedia %}
  383.         {% if productMedia.youtube %}
  384.             <div class="modal fade modalVideo" id="mediaModal{{ loop.index }}" tabindex="-1" role="dialog"
  385.                  aria-labelledby="skillYoutubeModalLabel" aria-hidden="true">
  386.                 <div class="modal-dialog modal-lg modal-dialog-centered" role="document">
  387.                     <div class="modal-content">
  388.                         <button type="button"
  389.                                 class="close may-0 max-0 pa-0 position-absolute bgc-f8fafc c-204A9A o-100 wi-30 fs-16 he-30 t--15 r--15 zi-99 br-20"
  390.                                 data-dismiss="modal" aria-label="Close">
  391.                             <i class="far fa-times" aria-hidden="true"></i>
  392.                         </button>
  393.                         <div class="modal-body">
  394.                             {{ productMedia.youtube|raw }}
  395.                         </div>
  396.                     </div>
  397.                 </div>
  398.             </div>
  399.         {% endif %}
  400.     {% endfor %}
  401.     {% for key, productProductAddon in productSoftwareProductAddons %}
  402.         {% set productAddon = productProductAddon.productAddon %}
  403.         <div class="modal fade modalVideo modalAddon" id="softwareAddonSliderModal{{ loop.index }}" tabindex="-1"
  404.              role="dialog"
  405.              aria-labelledby="skillYoutubeModalLabel" aria-hidden="true">
  406.             <div class="modal-dialog modal-lg modal-dialog-centered" role="document">
  407.                 <div class="modal-content">
  408.                     <button type="button"
  409.                             class="close may-0 max-0 pa-0 position-absolute bgc-F3F3F3 c-494A4B o-100 wi-40 fs-16 he-40 t-30 r-30 zi-99 br-20"
  410.                             data-dismiss="modal" aria-label="Close">
  411.                         <i class="far fa-times" aria-hidden="true"></i>
  412.                     </button>
  413.                     <div class="modal-body pa-0">
  414.                         <div class="d-md-flex align-items-stretch">
  415.                             <div class="bgc-f3f3f3 brw-1 brs-solid bc-D9D9D9 col-md-6 d-flex align-items-center justify-content-center pa-50-lg pa-30">
  416.                                 <img src="{{ asset(vich_uploader_asset(productAddon, 'productAddonFile'))|imagine_filter('medium') }}"
  417.                                      alt="{{ productAddon.title }}" class="img-contain multiply"/>
  418.                             </div>
  419.                             <div class="col-md-6 text-center text-md-left pay-70-lg pay-30 pax-20 pax-50-lg d-flex align-items-center">
  420.                                 <div>
  421.                                     <div class="fs-26 fw-700 c-333333 mab-30 ">
  422.                                         {{ productAddon.title }}
  423.                                     </div>
  424.                                     {{ productAddon.description|raw }}
  425.                                 </div>
  426.                             </div>
  427.                         </div>
  428.                     </div>
  429.                 </div>
  430.             </div>
  431.         </div>
  432.     {% endfor %}
  433.     {% for key, productProductAddon in productHardwareProductAddons %}
  434.         {% set productAddon = productProductAddon.productAddon %}
  435.         <div class="modal fade modalVideo modalAddon" id="hardwareAddonSliderModal{{ loop.index }}" tabindex="-1"
  436.              role="dialog"
  437.              aria-labelledby="skillYoutubeModalLabel" aria-hidden="true">
  438.             <div class="modal-dialog modal-lg modal-dialog-centered" role="document">
  439.                 <div class="modal-content">
  440.                     <button type="button"
  441.                             class="close may-0 max-0 pa-0 position-absolute bgc-F3F3F3 c-494A4B o-100 wi-40 fs-16 he-40 t-30 r-30 zi-99 br-20"
  442.                             data-dismiss="modal" aria-label="Close">
  443.                         <i class="far fa-times" aria-hidden="true"></i>
  444.                     </button>
  445.                     <div class="modal-body pa-0">
  446.                         <div class="d-md-flex align-items-stretch">
  447.                             <div class="bgc-f3f3f3 brw-1 brs-solid bc-D9D9D9 col-md-6 d-flex align-items-center justify-content-center pa-50-lg pa-30">
  448.                                 <img src="{{ asset(vich_uploader_asset(productAddon, 'productAddonFile'))|imagine_filter('medium') }}"
  449.                                      alt="{{ productAddon.title }}" class="img-contain multiply"/>
  450.                             </div>
  451.                             <div class="col-md-6 text-center text-md-left pay-70-lg pay-30 pax-20 pax-50-lg d-flex align-items-center">
  452.                                 <div>
  453.                                     <div class="fs-26 fw-700 c-333333 mab-30 ">
  454.                                         {{ productAddon.title }}
  455.                                     </div>
  456.                                     {{ productAddon.description|raw }}
  457.                                 </div>
  458.                             </div>
  459.                         </div>
  460.                     </div>
  461.                 </div>
  462.             </div>
  463.         </div>
  464.     {% endfor %}
  465. {% endblock %}