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

Open in your IDE?
  1. {% extends 'front/base.html.twig' %}
  2. {% block title %}Sunshine Elegance | {{ categorie.getName() }} {% endblock %}
  3. {% block meta %}
  4.     <meta name="keywords" content="Chaussures,Chaussures Femme,Jebba,Robe,Bottine">
  5.     <meta name="description" content="Marque tunisienne spécialisée dans la vente de vêtements et chaussures en ligne">
  6.     <meta name="author" content="Sunshine-Elegance">
  7.     <!-- Facebook OG -->
  8.     <meta property="og:image" content="{{ asset('front/assets/imgs/theme/logo3.png') }}">
  9.     <meta property="og:url" content="https://www.sunshineelegance.tn/">
  10.     <meta property="og:type" content="article">
  11.     <meta property="og:title" content="Sunshine Elegance | Marque tunisienne spécialisée dans la vente de vêtements et chaussures en ligne">
  12.     <meta property="og:description" content="Marque tunisienne spécialisée dans la vente de vêtements et chaussures en ligne">
  13.     <!-- Twitter OG -->
  14.     <meta name="twitter:title" content="Sunshine Elegance | Marque tunisienne spécialisée dans la vente de vêtements et chaussures en ligne">
  15.     <meta name="twitter:description" content="Marque tunisienne spécialisée dans la vente de vêtements et chaussures en ligne">
  16.     <meta name="twitter:image" content="{{ asset('front/assets/imgs/theme/logo3.png') }}">
  17.     <meta name="twitter:card" content="summary_large_image">
  18. {% endblock %}
  19. {% block stylesheets %}
  20.     {{ parent() }}
  21.     <style>
  22.         .product-cart-wrap .product-img-action-wrap {
  23.             max-height: none;
  24.         }
  25.     </style>
  26.     <script>
  27.         var category_id = JSON.parse("{{ category_id|e('js') }}")
  28.         // Filtres des tailles et couleurs
  29.         var taillesFilter = {{ Globals.getTailles(categories)|json_encode|raw }};
  30.         var couleursFilter = {{ Globals.getCouleurs(categories)|json_encode|raw }};
  31.     </script>
  32. {% endblock %}
  33. {% block body %}
  34.     {# {% verbatim %} #}
  35.     <main class="main" id="app" v-cloak>
  36.         <div class="page-header breadcrumb-wrap">
  37.             <div class="container">
  38.                 <div class="breadcrumb">
  39.                     <a href="{{ path('home') }}" rel="nofollow">Acceuil</a>
  40.                     {% if categorie.parent.parent is defined and  categorie.parent.parent is not null %}
  41.                     <span></span> <a href="{{ path('category_new', {id: categorie.parent.parent.id, name :categorie.parent.parent.name|slug}) }}"
  42.                                      rel="nofollow">{{ categorie.parent.parent.name }}</a>
  43.                     {% endif %}
  44.                     {% if categorie.parent is not empty and  categorie.parent is not null  %}
  45.                     <span></span> <a href="{{ path('category_new', {id: categorie.parent.id, name :categorie.parent.name|slug}) }}"
  46.                                      rel="nofollow">{{ categorie.parent.name }}</a>
  47.                     {% endif %}
  48.                     <span></span> {{ categorie.getName() }}
  49.                 </div>
  50.             </div>
  51.         </div>
  52.         <section class="mt-50 mb-50">
  53.             <div class="container">
  54.                 <div class="row flex-row-reverse">
  55.                     <div class="col-lg-9">
  56.                         <div class="shop-product-fillter">
  57.                             <div class="totall-product">
  58.                                 <p> Nous avons trouvé <strong class="text-brand">${ totalItems }</strong> article<span v-if="totalItems>1">s</span> !</p>
  59.                             </div>
  60.                             <div class="sort-by-product-area">
  61.                                 <div class="sort-by-cover mr-10">
  62.                                     <div class="sort-by-product-wrap">
  63.                                         <div class="sort-by">
  64.                                             <span><i class="fi-rs-apps"></i>Montrer:</span>
  65.                                         </div>
  66.                                         <div class="sort-by-dropdown-wrap">
  67.                                             <span v-show="pageSize!=9999"> ${ pageSize } <i
  68.                                                         class="fi-rs-angle-small-down"></i></span>
  69.                                             <span v-show="pageSize==9999"> Tous <i
  70.                                                         class="fi-rs-angle-small-down"></i></span>
  71.                                         </div>
  72.                                     </div>
  73.                                     <div class="sort-by-dropdown">
  74.                                         <ul>
  75.                                             <li class="activeFilter"><a :class="{ active: pageSize==9 }" href="#&"
  76.                                                                         @click="pageSize=9;getData(page,true)">9</a>
  77.                                             </li>
  78.                                             <li class="activeFilter"><a :class="{ active: pageSize==18 }" href="#&"
  79.                                                                         @click="pageSize=18;getData(page,true)">18</a>
  80.                                             </li>
  81.                                             <li class="activeFilter"><a :class="{ active: pageSize==36 }" href="#&"
  82.                                                                         @click="pageSize=36;getData(page,true)">36</a>
  83.                                             </li>
  84.                                             <li class="activeFilter"><a :class="{ active: pageSize==9999 }" href="#&"
  85.                                                                         @click="pageSize=9999;getData(page,true)">Tous</a>
  86.                                             </li>
  87.                                         </ul>
  88.                                     </div>
  89.                                 </div>
  90.                                 <div class="sort-by-cover">
  91.                                     <div class="sort-by-product-wrap">
  92.                                         <div class="sort-by">
  93.                                             <span><i class="fi-rs-apps-sort"></i>Trier par:</span>
  94.                                         </div>
  95.                                         <div class="sort-by-dropdown-wrap">
  96.                                             <span v-show="orderBy==1"> Nom: A à Z <i class="fi-rs-angle-small-down"></i></span>
  97.                                             <span v-show="orderBy==2"> Nom: Z à A <i class="fi-rs-angle-small-down"></i></span>
  98.                                             <span v-show="orderBy==3"> Prix: croissant <i
  99.                                                         class="fi-rs-angle-small-down"></i></span>
  100.                                             <span v-show="orderBy==4"> Prix: décroissant <i
  101.                                                         class="fi-rs-angle-small-down"></i></span>
  102.                                             <span v-show="orderBy==5"> Date ajout: croissant<i
  103.                                                         class="fi-rs-angle-small-down"></i></span>
  104.                                             <span v-show="orderBy==6"> Date ajout: décroissant<i
  105.                                                         class="fi-rs-angle-small-down"></i></span>
  106.                                         </div>
  107.                                     </div>
  108.                                     <div class="sort-by-dropdown">
  109.                                         <ul>
  110.                                             <li class="activeFilter">
  111.                                                 <a :class="{ active: orderBy==1 }" href="#&"
  112.                                                    @click="orderBy=1;getData(page,true)">Nom: A à Z</a>
  113.                                             </li>
  114.                                             <li class="activeFilter"><a :class="{ active: orderBy==2 }" href="#&"
  115.                                                                         @click="orderBy=2;getData(page,true)">Nom: Z à
  116.                                                     A</a></li>
  117.                                             <li class="activeFilter"><a :class="{ active: orderBy==3 }" href="#&"
  118.                                                                         @click="orderBy=3;getData(page,true)">Prix:
  119.                                                     croissant</a></li>
  120.                                             <li class="activeFilter"><a :class="{ active: orderBy==4 }" href="#&"
  121.                                                                         @click="orderBy=4;getData(page,true)">Prix:
  122.                                                     décroissant</a></li>
  123.                                             <li class="activeFilter">
  124.                                                 <a :class="{ active: orderBy==5 }" href="#&"
  125.                                                    @click="orderBy=5;getData(page,true)">Date ajout: croissant</a>
  126.                                             </li>
  127.                                             <li class="activeFilter">
  128.                                                 <a :class="{ active: orderBy==6 }" href="#&"
  129.                                                    @click="orderBy=6;getData(page,true)">Date ajout: décroissant</a>
  130.                                             </li>
  131.                                         </ul>
  132.                                     </div>
  133.                                 </div>
  134.                             </div>
  135.                         </div>
  136.                         <!-- Produits -->
  137.                         <div class="row product-grid-3">
  138.                             <div class="col-lg-4 col-md-4 col-12 col-sm-6 row-product" v-for="entry in products">
  139.                                 <div class="product-cart-wrap mb-30 col-product">
  140.                                     <div class="product-img-action-wrap" @click="openProduct(entry.id,entry.name)">
  141.                                         <div class="product-img product-img-zoom">
  142.                                             <a href="#&">
  143.                                                 <!--<img class="default-img" src="../front/assets/imgs/shop/product-2-1.jpg" alt="Sunshine Elegance">-->
  144.                                                 <img class="default-img product-img"
  145.                                                      :src="'{{ APP_URL }}/images/300-400/'+entry.image"
  146.                                                      :alt="entry.name">
  147.                                                 <!--<img class="hover-img" src="../front/assets/imgs/shop/product-2-2.jpg" alt="Sunshine Elegance">-->
  148.                                             </a>
  149.                                         </div>
  150.                                         <!--<div class="product-action-1">
  151.                                             <a aria-label="Quick view" class="action-btn hover-up" data-bs-toggle="modal" data-bs-target="#quickViewModal">
  152.                                                 <i class="fi-rs-search"></i>
  153.                                             </a>
  154.                                             <a aria-label="Add To Wishlist" class="action-btn hover-up" href="shop-wishlist.html"><i class="fi-rs-heart"></i></a>
  155.                                             <a aria-label="Compare" class="action-btn hover-up" href="shop-compare.html"><i class="fi-rs-shuffle"></i></a>
  156.                                         </div>-->
  157.                                         <div class="product-badges product-badges-position product-badges-mrg"
  158.                                              v-if="(entry.promo && entry.promo.isValid) || !entry.stock || entry.isNew">
  159.                                             <span v-if="!entry.stock" class="hot mr-1"
  160.                                                   style="margin-right: 2px;font-size: 10px;">Rupture de stock</span>
  161.                                             <span v-if="entry.isNew" class="new mr-1"
  162.                                                   style="margin-right: 2px;font-size: 10px;">Nouveau</span>
  163.                                             <span class="best"
  164.                                                   v-if="entry.promo && entry.promo.isValid && entry.promo.discountType=='amount'"
  165.                                                   style="font-size: 10px;">-${ entry.promo.discountValue.toFixed(3) } <sup
  166.                                                         class="currency-style">TND</sup></span>
  167.                                             <span class="best"
  168.                                                   v-if="entry.promo && entry.promo.isValid && entry.promo.discountType=='percent'"
  169.                                                   style="font-size: 10px;">-${ entry.promo.discountValue } %</span>
  170.                                         </div>
  171.                                     </div>
  172.                                     <div class="product-content-wrap">
  173.                                         <h2 @click="openProduct(entry.id,entry.name)">
  174.                                             <div class="menu-item">${ entry.name }</div>
  175.                                         </h2>
  176.                                         <!--<div class="rating-result" title="90%">
  177.                                             <span>
  178.                                                 <span>90%</span>
  179.                                             </span>
  180.                                         </div>-->
  181.                                         <div class="product-price">
  182.                                             <span v-if="!entry.promo || (entry.promo && !entry.promo.isValid)">${ entry.priceTTC.toFixed(3) } <sup
  183.                                                         class="currency-style">TND</sup></span>
  184.                                             <span v-if="entry.promo && entry.promo.isValid && entry.promo.discountType=='amount'">${ (entry.priceTTC-entry.promo.discountValue).toFixed(3) } <sup
  185.                                                         class="currency-style">TND</sup></span>
  186.                                             <span v-if="entry.promo && entry.promo.isValid && entry.promo.discountType=='percent'">${ (entry.priceTTC-(entry.priceTTC*entry.promo.discountValue/100)).toFixed(3) } <sup
  187.                                                         class="currency-style">TND</sup></span>
  188.                                             <span class="old-price"
  189.                                                   v-if="entry.promo && entry.promo.isValid">${ entry.priceTTC.toFixed(3) } <sup
  190.                                                         class="currency-style">TND</sup></span>
  191.                                         </div>
  192.                                         <div class="product-action-1 show" @click="getProduit(entry.id)">
  193.                                             <button aria-label="Acheter maintenant" class="action-btn hover-up"><i
  194.                                                         class="fi-rs-shopping-bag-add"></i></button>
  195.                                         </div>
  196.                                     </div>
  197.                                 </div>
  198.                             </div>
  199.                         </div>
  200.                         <!--pagination-->
  201.                         <div class="pagination-area mt-15 mb-sm-5 mb-lg-0" v-show="pages.length>1">
  202.                             <nav aria-label="Page navigation example">
  203.                                 <ul class="pagination justify-content-start">
  204.                                     <!--li class="page-item active"><a class="page-link" href="#">01</a></li>-->
  205.                                     <li class="page-item" v-show="page>1" @click="getData(page-1)"><a class="page-link"
  206.                                                                                                       href="#&"><i
  207.                                                     class="fi-rs-angle-double-small-left"></i></a></li>
  208.                                     <li v-for="entry in pages" class="page-item" @click="getData(entry)"
  209.                                         :class="{ active: entry==page }"><a class="page-link" href="#&">${ entry }</a>
  210.                                     </li>
  211.                                     <li class="page-item" v-show="page<pages[pages.length-1]" @click="getData(page+1)">
  212.                                         <a class="page-link" href="#&"><i
  213.                                                     class="fi-rs-angle-double-small-right"></i></a></li>
  214.                                 </ul>
  215.                             </nav>
  216.                         </div>
  217.                     </div>
  218.                     <div class="col-lg-3 primary-sidebar sticky-sidebar">
  219.                         {# <div class="widget-category mb-30">
  220.                             <h5 class="section-title style-1 mb-30 wow fadeIn animated">Category</h5>
  221.                             <ul class="categories">
  222.                                 <li><a href="shop-grid-right.html">Shoes & Bags</a></li>
  223.                                 <li><a href="shop-grid-right.html">Blouses & Shirts</a></li>
  224.                                 <li><a href="shop-grid-right.html">Dresses</a></li>
  225.                                 <li><a href="shop-grid-right.html">Swimwear</a></li>
  226.                                 <li><a href="shop-grid-right.html">Beauty</a></li>
  227.                                 <li><a href="shop-grid-right.html">Jewelry & Watch</a></li>
  228.                                 <li><a href="shop-grid-right.html">Accessories</a></li>
  229.                             </ul>
  230.                         </div> #}
  231.                         <!-- Fillter By Price -->
  232.                         <div class="sidebar-widget price_range range mb-30">
  233.                             <div class="widget-header position-relative mb-20 pb-10">
  234.                                 <h5 class="widget-title mb-10">Filter par prix</h5>
  235.                                 <div class="bt-1 border-color-1"></div>
  236.                             </div>
  237.                             <div class="price-filter">
  238.                                 <div class="price-filter-inner">
  239.                                     <div id="slider-range"></div>
  240.                                     <div class="price_slider_amount">
  241.                                         <div class="label-input">
  242.                                             <span>Intervalle:</span><input type="text" id="amount" name="price"
  243.                                                                            placeholder="Add Your Price"/>
  244.                                         </div>
  245.                                     </div>
  246.                                 </div>
  247.                             </div>
  248.                             <button class="btn btn-sm btn-default mt-10" :disabled="disabled"
  249.                                     @click="getData(page,true)"><i
  250.                                         class="fi-rs-filter mr-5"></i> Filtrer
  251.                             </button>
  252.                             <div class="list-group" v-if="totalItems">
  253.                                 <div class="list-group-item mb-10 mt-10">
  254.                                     <label class="fw-900">Tailles</label>
  255.                                     <div class="custome-checkbox">
  256.                                         <div class="row">
  257.                                             <div v-for="entry in taillesFilter" class="col-4"
  258.                                                  style="white-space: nowrap">
  259.                                                 <input class="form-check-input" type="checkbox" name="checkbox"
  260.                                                        :id="'exampleCheckbox'+entry.name" v-model="entry.selected"
  261.                                                        @change="getData(page,true)">
  262.                                                 <label class="form-check-label"
  263.                                                        :for="'exampleCheckbox'+entry.name"><span>${ entry.name }</span></label>
  264.                                                 <br>
  265.                                             </div>
  266.                                         </div>
  267.                                     </div>
  268.                                     <label class="fw-900 mt-15">Couleurs</label>
  269.                                     <div class="attr-detail attr-color mb-15">
  270.                                         <ul class="list-filter color-filter multi">
  271.                                             <li :class="entry.selected ? 'active' : ''" v-for="entry in couleursFilter"
  272.                                                 @click="entry.selected = !entry.selected,getData(page,true)">
  273.                                                 <a href="#" :title="entry.name">
  274.                                                     <span :style="{ 'background-color': entry.code ? entry.code :'#fff','border': '1px solid #ddd' }"></span>
  275.                                                 </a>
  276.                                             </li>
  277.                                         </ul>
  278.                                     </div>
  279.                                 </div>
  280.                             </div>
  281.                         </div>
  282.                     </div>
  283.                 </div>
  284.             </div>
  285.         </section>
  286.     </main>
  287.     {# {% endverbatim %} #}
  288. {% endblock %}
  289. {% block javascripts %}
  290.     {{ parent() }}
  291.     <script>
  292.         // Reinialiser les filtres de recherche
  293.         window.onbeforeunload = function () {
  294.             //unchecked your check box here.
  295.             $("input[type='checkbox']").prop('checked', false);
  296.             //app.getData(app.page);
  297.         };
  298.     </script>
  299.     <script src="{{ asset('front/assets/scripts/category/index.js') }}"></script>
  300. {% endblock %}