templates/front/produit/index.html.twig line 1

Open in your IDE?
  1. {% extends 'baseFront.html.twig' %}
  2. {% block title %}Produits{% endblock %}
  3. {% block stylesheets %}
  4.     {{ encore_entry_link_tags('appFront_produit') }}
  5. {% endblock %}
  6. {% block body %}
  7. <main class="page catalog-page">
  8.     <section class="clean-block clean-catalog dark">
  9.         <div class="container contain">
  10.             <div class="content">
  11.                 <div class="row">
  12.                     <!-- Debut du flitre -->
  13.                     <div class="col-md-3">
  14.                         <!-- si  le format de l'ecran est de taille moyen alors il aplique cette filtre -->
  15.                         <div class="d-none d-md-block">
  16.                             <h3 style="color: #333333;">Filtre</h3>
  17.                             <hr>
  18.                             <div class="filters" style="padding-left: 0px;padding-top: 10px;">
  19.                                 <div class="filter-item">
  20.                                     <h3>Prix</h3>
  21.                                     <div class="range">
  22.                                         <div class="d-flex justify-content-between range-price">
  23.                                             <div><span id="minSpan">0</span> Ar</div>
  24.                                             <div><span id="maxSpan">6000000</span> Ar</div>
  25.                                         </div>
  26.                                         <div class="range-slider">
  27.                                             <span class="range-selected"></span>
  28.                                         </div>
  29.                                         <div class="range-input">
  30.                                             <input type="range" class="min" min="0" max="6000000" value="0"
  31.                                                 step="100">
  32.                                             <input type="range" class="max" min="0" max="6000000" value="6000000"
  33.                                                 step="100">
  34.                                         </div>
  35.                                     </div>
  36.                                 </div>
  37.                                 <div class="filter-item">
  38.                                     <div class="filter-item">
  39.                                         <h3>Categories</h3>
  40.                                         <div class="form-check"><input class="form-check-input" type="checkbox"
  41.                                                 id="formCheck-10"><label class="form-check-label"
  42.                                                 for="formCheck-1">Phones</label></div>
  43.                                         <div class="form-check"><input class="form-check-input" type="checkbox"
  44.                                                 id="formCheck-11"><label class="form-check-label"
  45.                                                 for="formCheck-2">Laptops</label></div>
  46.                                         <div class="form-check"><input class="form-check-input" type="checkbox"
  47.                                                 id="formCheck-12"><label class="form-check-label"
  48.                                                 for="formCheck-3">PC</label></div>
  49.                                         <div class="form-check"><input class="form-check-input" type="checkbox"
  50.                                                 id="formCheck-13"><label class="form-check-label"
  51.                                                 for="formCheck-4">Tablets</label></div>
  52.                                     </div>
  53.                                 </div>
  54.                                 <div class="filter-item">
  55.                                     <h3>Brands</h3>
  56.                                     <div class="form-check"><input class="form-check-input" type="checkbox"
  57.                                             id="formCheck-5"><label class="form-check-label"
  58.                                             for="formCheck-5">Samsung</label></div>
  59.                                     <div class="form-check"><input class="form-check-input" type="checkbox"
  60.                                             id="formCheck-6"><label class="form-check-label"
  61.                                             for="formCheck-6">Apple</label></div>
  62.                                     <div class="form-check"><input class="form-check-input" type="checkbox"
  63.                                             id="formCheck-7"><label class="form-check-label"
  64.                                             for="formCheck-7">HTC</label></div>
  65.                                 </div>
  66.                                 <div class="filter-item">
  67.                                     <h3>OS</h3>
  68.                                     <div class="form-check"><input class="form-check-input" type="checkbox"
  69.                                             id="formCheck-8"><label class="form-check-label"
  70.                                             for="formCheck-8">Android</label></div>
  71.                                     <div class="form-check"><input class="form-check-input" type="checkbox"
  72.                                             id="formCheck-9"><label class="form-check-label"
  73.                                             for="formCheck-9">iOS</label></div>
  74.                                 </div>
  75.                             </div>
  76.                         </div>
  77.                         <!-- fin du filtre pour les ecrans de taille moyen -->
  78.                         <!-- mais si le format est de taille petit-->
  79.                         <div class="d-md-none">
  80.                             <!-- debut du boutton de filtre si taille ecran petit -->
  81.                             <a class="btn btn-link text-center d-md-none filter-collapse"
  82.                                 data-bs-toggle="collapse" aria-expanded="false" aria-controls="filters"
  83.                                 href="#filters" role="button">Filtre<i class="icon-arrow-down filter-caret"></i></a>
  84.                             <div class="collapse" id="filters">
  85.                                 <div class="filters">
  86.                                     <div class="filter-item">
  87.                                         <h3>Prix</h3>
  88.                                         <!-- debut du range pour le fourchette du prix -->
  89.                                         <div class="range">
  90.                                             <div class="d-flex justify-content-between range-price">
  91.                                                 <div><span id="minSpan2">0</span> Ar</div>
  92.                                                 <div><span id="maxSpan2">6000000</span> Ar</div>
  93.                                             </div>
  94.                                             <div class="range-slider2">
  95.                                                 <span class="range-selected2"></span>
  96.                                             </div>
  97.                                             <div class="range-input2">
  98.                                                 <input type="range" class="min2" min="0" max="6000000"
  99.                                                     value="0" step="100">
  100.                                                 <input type="range" class="max2" min="0" max="6000000"
  101.                                                     value="6000000" step="100">
  102.                                             </div>
  103.                                         </div>
  104.                                         <!-- fin du range pour le fourchette du prix -->
  105.                                     </div>
  106.                                     <!-- voici les filtres ou il y a les checkbox -->
  107.                                     <div class="filter-item">
  108.                                         <h3>Categories</h3>
  109.                                         <div class="form-check"><input class="form-check-input" type="checkbox"
  110.                                                 id="formCheck-1"><label class="form-check-label"
  111.                                                 for="formCheck-1">Phones</label></div>
  112.                                         <div class="form-check"><input class="form-check-input" type="checkbox"
  113.                                                 id="formCheck-2"><label class="form-check-label"
  114.                                                 for="formCheck-2">Laptops</label></div>
  115.                                         <div class="form-check"><input class="form-check-input" type="checkbox"
  116.                                                 id="formCheck-3"><label class="form-check-label"
  117.                                                 for="formCheck-3">PC</label></div>
  118.                                         <div class="form-check"><input class="form-check-input" type="checkbox"
  119.                                                 id="formCheck-4"><label class="form-check-label"
  120.                                                 for="formCheck-4">Tablets</label></div>
  121.                                     </div>
  122.                                     <div class="filter-item">
  123.                                         <h3>Brands</h3>
  124.                                         <div class="form-check"><input class="form-check-input" type="checkbox"
  125.                                                 id="formCheck-5"><label class="form-check-label"
  126.                                                 for="formCheck-5">Samsung</label></div>
  127.                                         <div class="form-check"><input class="form-check-input" type="checkbox"
  128.                                                 id="formCheck-6"><label class="form-check-label"
  129.                                                 for="formCheck-6">Apple</label></div>
  130.                                         <div class="form-check"><input class="form-check-input" type="checkbox"
  131.                                                 id="formCheck-7"><label class="form-check-label"
  132.                                                 for="formCheck-7">HTC</label></div>
  133.                                     </div>
  134.                                     <div class="filter-item">
  135.                                         <h3>OS</h3>
  136.                                         <div class="form-check"><input class="form-check-input" type="checkbox"
  137.                                                 id="formCheck-8"><label class="form-check-label"
  138.                                                 for="formCheck-8">Android</label></div>
  139.                                         <div class="form-check"><input class="form-check-input" type="checkbox"
  140.                                                 id="formCheck-9"><label class="form-check-label"
  141.                                                 for="formCheck-9">iOS</label></div>
  142.                                     </div>
  143.                                     <!-- fin du filtre avec checkbox -->
  144.                                 </div>
  145.                             </div>
  146.                         </div>
  147.                         <!-- fin du filtre pour les ecrans de taille petit -->
  148.                     </div>
  149.                     <div class="col-md-9 col-xl-9 contenu">
  150.                         <div class="products">
  151.                             <!-- debut du header avec le background bleu avec la photo du telephone  -->
  152.                             <div class="col col-header">
  153.                                 <div
  154.                                     class="d-flex d-lg-flex justify-content-center align-items-center justify-content-lg-end align-items-lg-end header-contenu">
  155.                                     <div class="d-grid justify-content-lg-end">
  156.                                         <div class="title-head">
  157.                                             <h2 class="d-lg-flex justify-content-lg-end text-white">PREMIUM</h2>
  158.                                         </div>
  159.                                         <div>
  160.                                             <h5 class="d-lg-flex justify-content-lg-end text-white">A PETIT PRIX</h5>
  161.                                         </div>
  162.                                     </div><img class="img-phone" src="/catalogue/img/img.png"
  163.                                         style="transform: translateY(-20px) scaleX(1.15) scaleY(1.15);">
  164.                                 </div>
  165.                             </div>
  166.                             <!-- fin du style -->
  167.                             <!-- debut liste telephone -->
  168.                             <div class="col">
  169.                                 <div class="card-phone">
  170.                                     <div class="row">
  171.                                         <!-- debut card telephone-->
  172.                                         <!-- debut du boucle -->
  173.                                         {% for produit in produits %}
  174.                                         <div class="col-lg-4">
  175.                                             <div class="premium"><span>PREMIUM</span></div>
  176.                                             <div class="clean-product-item">
  177.                                                 <div class="d-flex justify-content-between">
  178.                                                     <div>
  179.                                                         <div class="model"><span>{{ produit.nom }}</span></div>
  180.                                                         <div class="marque"><span>&nbsp;</span></div>
  181.                                                     </div>
  182.                                                     <div
  183.                                                         class="d-xl-flex justify-content-xl-center align-items-xl-center">
  184.                                                         <a class="coeur" href="#"><i class="fa fa-heart-o"></i></a>
  185.                                                     </div>
  186.                                                 </div>
  187.                                                 {% set imgProduit = asset('catalogue/img/samsung.png') %}
  188.                                                 {% if 'itel' in produit.nom|lower %}{% set imgProduit = asset('catalogue/img/itel.png') %}{% endif %}
  189.                                                 {% if 'infinix' in produit.nom|lower %}{% set imgProduit = asset('catalogue/img/detail.png') %}{% endif %}
  190.                                                 {% if produit.logo is not null and produit.logo is not empty %}{% set imgProduit = produit.logo %}{% endif %}
  191.                                                 <div class="image"><span class="float-start device">4G</span><img
  192.                                                         class="img-fluid mx-auto img-produit" src="{{ imgProduit }}"></div>
  193.                                                 <hr>
  194.                                                 <div class="prix">
  195.                                                     <div class="d-table" style="width: 50%;">
  196.                                                         <div class="d-xl-flex justify-content-xl-start"><span
  197.                                                                 style="text-align: right;font-weight: bold;">{{ produit.prixDeVente | number_format(0, ',', ' ') }}
  198.                                                                 Ar</span></div>
  199.                                                         {# <div class="d-xl-flex justify-content-xl-end rating"><span
  200.                                                                 style="font-size: 14px;text-decoration:  line-through;">350
  201.                                                                 000 Ar</span></div> #}
  202.                                                     </div>
  203.                                                     <div><button class="btn btn-primary btn-details btn-productDetail" type="button" data-id="{{ produit.id }}">Details</button>
  204.                                                     </div>
  205.                                                 </div>
  206.                                                 <div class="rating">
  207.                                                     <div class="rating"><img src="/catalogue/img/star.svg"><img
  208.                                                             src="/catalogue/img/star.svg"><img
  209.                                                             src="/catalogue/img/star.svg"><img
  210.                                                             src="/catalogue/img/star-half-empty.svg"><img
  211.                                                             src="/catalogue/img/star-empty.svg"></div>
  212.                                                     <div><button class="btn btn-primary btn-want btn-productBasket" type="button" data-id="{{ produit.id }}" >Je le veux</button>
  213.                                                     </div>
  214.                                                 </div>
  215.                                             </div>
  216.                                         </div>
  217.                                         {% endfor %}
  218.                                         <!-- fin du boucle -->
  219.                                         <!-- fin du card telephone -->
  220.                                     </div>
  221.                                 </div>
  222.                             </div>
  223.                             <!-- fin liste telephone -->
  224.                         </div>
  225.                     </div>
  226.                     <!-- fin du contenu des listes des produits -->
  227.                 </div>
  228.             </div>
  229.         </div>
  230.     </section>
  231. </main>
  232. <!-- Modal -->
  233. <div class="modal fade" id="catalogueModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="catalogueLabel" aria-hidden="true">
  234.     <div class="modal-dialog modal-dialog-scrollable modal-dialog-centered modal-xl">
  235.         <div class="modal-content border-radius-0">
  236.             <div class="modal-header px-4 border-none" style="background-color: #f3f3f3">
  237.                 <h3 class="modal-title text-dark" id="catalogueLabel"></h3>
  238.                 <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  239.             </div>
  240.             <div class="modal-body pt-4 modal-detail"></div>
  241.         </div>
  242.     </div>
  243. </div>
  244. <!-- Modal -->
  245. <div class="modal fade" id="basketModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="basketLabel" aria-hidden="true" style="border: 16px none rgb(52, 48, 255) ;">
  246.     <div class="modal-dialog modal-dialog-scrollable modal-dialog-centered">
  247.         <div class="modal-content border-radius-0">
  248.             <div class="modal-header text-center" style="background-color: #f3f3f3">
  249.                 <h5 class="modal-title text-dark w-100" id="basketLabel"></h5>
  250.                 <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  251.             </div>
  252.             <div class="modal-body modal-body-panier"></div>
  253.             <div class="modal-footer modal-footer-panier"></div>
  254.         </div>
  255.     </div>
  256. </div>
  257. <div id="loader">
  258.     <div class="loading">
  259.         <span>Chargement...</span>
  260.     </div>
  261. </div>
  262. {# JS variable #}
  263. <div id="url-produit-catalogue-show" value="{{ path('app_front_produit_show', { id: -1 }) }}"></div>
  264. <div id="url-produit-catalogue-basket" value="{{ path('app_front_produit_basket', { type: 'mode' }) }}"></div>
  265. <div id="url-produit-catalogue-cart" value="{{ path("app_front_panier") }}"></div>
  266. <div id="url-login" value="{{ path("app_login", { from: 'front' })  }}"></div>
  267. {% endblock %}
  268. {% block javascripts %}
  269.     {{ encore_entry_script_tags('appFront_produit') }}
  270. {% endblock %}