templates/Theme/Produit/Produit/Produit/acceuilproduit.html.twig line 74

Open in your IDE?
  1. {% extends "Theme/Users/User/layoutuser.html.twig" %}
  2. {% block meta %}
  3.     {{ parent() }}
  4.     
  5.     <meta name="keywords" content="{{ site }}, Catalogue, Produit,{{ keywords }}"/>
  6.     <meta name="author" content="Noel Kenfack"/>
  7.     <meta name="description" content="{{ site }} | Catalogue des produits"/>
  8.     <link rel="stylesheet" href="{{ asset('autocomplete/css/jquery.auto-complete.css') }}"/>
  9. {% endblock %}
  10. {% block title %}
  11.     {{ parent() }} | Boutiques
  12.     
  13. {% endblock %}
  14. {% block userblog_body %}
  15. <section style="padding: 15px 0px 5px 0px; background: #f7f7f7;">
  16.     <div class="container">
  17.     <div class="row">
  18.     <div class="col-md-8">
  19.         <ul class="breadcrumbs">
  20.             <li><a href="{{ path('users_user_acces_plateforme') }}"><i class="fa fa-home" style="font-size: 11px;"></i> {{ 'Accueil'|trans }}</a></li>
  21.             <li><a href="{{ path('produit_produit_acceuil_sousdomaine_type_market_place') }}">{{ 'Produits'|trans }}</a></li>
  22.             {% if souscategorie != null %}
  23.             <li>{{ souscategorie.nom }}</li>
  24.             {% else %}
  25.             <li>{{ 'Tous les produits'|trans }}</li>
  26.             {% endif %}
  27.         </ul>
  28.     </div>
  29.     <div class="col-md-4 text-right">
  30.         {% include "Theme/General/Template/Menu/contacts.html.twig" %}
  31.     </div>
  32.     </div>
  33.     </div>
  34. </section>
  35.     
  36. <div class="section-content">
  37. <div class="container">
  38. <div class="row">
  39. <div class="col-md-12">
  40.     <div class="animecourant-panel" style="display: block;">
  41.             
  42.     </div>
  43. </div>
  44. </div>
  45. <div class="row">
  46.     
  47.     <div class="col-md-3" style="padding: 3px;">
  48.         <div class="toutleblock">
  49.             <div style="padding: 7px 2px; box-shadow:0px 0px 2px rgba(0,0,0,0.01); background: #fff; border: 1px solid #ddd;">
  50.                 {% include 'Theme/General/Template/Menu/formfiltreproduit.html.twig' %}
  51.             </div>
  52.             
  53.             <div  style="margin: 7px 0px 0px 0px; box-shadow:0px 0px 2px rgba(0,0,0,0.01); background: #fff;">
  54.             <ul class="list-group">
  55.                 
  56.                 {{ render(controller("App\\Controller\\Produit\\Produit\\CategorieController:menusouscategorie", {'taille': 10})) }}
  57.                 
  58.              </ul>
  59.             </div>
  60.             
  61.             <div style="margin: 7px 0px 0px 0px; box-shadow:0px 0px 2px rgba(0,0,0,0.01); background: #fff;">
  62.             <ul class="list-group">
  63.                 
  64.                 {{ render(controller("App\\Controller\\Produit\\Produit\\MarqueproduitController:menumarque", {'taille': 10})) }}
  65.                 
  66.              </ul>
  67.             </div>
  68.              <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 stop-courant-panel">
  69.              </div>
  70.         </div>
  71.     </div>
  72.     
  73.     <div class="col-md-9" style="padding: 3px;">
  74.          
  75.         <div class="row" style="margin: 0px">
  76.             <div class="col-md-12">
  77.                 <h3 class="breadcrumbs-title">
  78.                  Liste des produits
  79.                 </h3>
  80.             </div>
  81.             {% for produit in liste_produit %}
  82.                 <div class="col-md-4 col-sm-6 col-xs-12">
  83.                 {% include 'Theme/Produit/Produit/Produit/produitdescription.html.twig' %}
  84.                 </div>
  85.             {% else %}
  86.                 <div class="col-md-12">
  87.                     <ul class="collapsible collapsible-accordion" data-collapsible="accordion" style="box-shadow: none;">
  88.                         <div style="height: 400px; border-left: 4px solid #3565ae; padding: 5px;">
  89.                             <div style="border-left: 5px solid #3565ae; padding: 3px; background: #f5f5f5; color: red;">{{ 'Aucune information disponible pour cette section'|trans }}</div>
  90.                         </div>
  91.                     </ul>            
  92.                 </div>
  93.             {% endfor %}
  94.             <div class="clearfix"></div>
  95.         </div>
  96.         <div class="clearfix"></div>
  97.           {% if nombrepage > 0 %}
  98.                         
  99.             {% if page > 1 and page <= nombrepage %}
  100.             {% set pagepre = page - 1 %}
  101.             {% else %}
  102.                 {% set pagepre = nombrepage %}
  103.             {% endif %}
  104.             {% if page < nombrepage %}
  105.                 {% set pagesuiv = page + 1 %}
  106.             {% else %}
  107.                 {% set pagesuiv =  1 %}
  108.             {% endif %}
  109.             {% if nombrepage < 5 %}
  110.                 {% set debut = 1 %}
  111.                 {% set fin = nombrepage %}
  112.             {% else %}
  113.                 {% if page > 2 and page < (nombrepage - 2) %}
  114.                     {% set debut = page - 2 %}
  115.                     {% if page + 2 >= nombrepage %}
  116.                         {% set fin = nombrepage %}
  117.                     {% else %}
  118.                         {% set fin = page + 2 %}
  119.                     {% endif %}
  120.                 {% else %}
  121.                     {% if page <= 2 %}
  122.                         {% if page == 1 %}
  123.                             {% set debut = 1 %}
  124.                             {% set fin = page + 3 %}
  125.                         {% else %}
  126.                             {% set debut = 1 %}
  127.                             {% set fin = page + 2 %}
  128.                         {% endif %}
  129.                     {% else %}
  130.                         {% set debut = page - 2 %}
  131.                         {% if page + 2 >= nombrepage %}
  132.                             {% set fin = nombrepage %}
  133.                         {% else %}
  134.                             {% set fin = page + 2 %}
  135.                         {% endif %}
  136.                     {% endif %}
  137.                 {% endif %}
  138.                 
  139.             {% endif %}
  140.             
  141.             <div class="row" style="margin: 15px  0px;">
  142.                <div class="col-md-12">
  143.                <div class="flex-container" style="background: #fafafa; ">
  144.                   <div class="paginate-ctn">
  145.                     <a href="{{ path('produit_produit_acceuil_sousdomaine_type_market_place', {'idscat': idscat,'idpays': idpays,'idmarque': idmarque,'idtype': idtype,'idville': idville, 'page': 1 }) }}" style="display: inline-block;" class="round-effect"> <span class="fa fa-fast-backward"></span> </a>
  146.                     <a href="{{ path('produit_produit_acceuil_sousdomaine_type_market_place', {'idscat': idscat,'idpays': idpays, 'idmarque': idmarque,'idtype': idtype, 'idville': idville,'page': pagepre }) }}" style="display: inline-block;" class="round-effect"> <span class="fa fa-step-backward"></span> </a>
  147.                     {% for p in debut..fin %}
  148.                         <a href="{{ path('produit_produit_acceuil_sousdomaine_type_market_place', {'idscat': idscat,'idpays': idpays,'idmarque': idmarque,'idtype': idtype, 'idville': idville, 'page': p }) }}" style="display: inline-block;" class="round-effect {% if p == page %}activepage{% endif %}">{{ p }}</a>
  149.                     {% endfor %}
  150.                     <a href="{{ path('produit_produit_acceuil_sousdomaine_type_market_place', {'idscat': idscat,'idpays': idpays,'idmarque': idmarque,'idtype': idtype, 'idville': idville, 'page': pagesuiv }) }}" style="display: inline-block;" class="round-effect"> <span class="fa fa-step-forward"></span> </a>
  151.                     <a href="{{ path('produit_produit_acceuil_sousdomaine_type_market_place', {'idscat': idscat,'idpays': idpays, 'idmarque': idmarque,'idtype': idtype, 'idville': idville, 'page': nombrepage }) }}" style="display: inline-block;" class="round-effect"> <span class="fa fa-fast-forward"></span> </a>
  152.                  </div>
  153.                </div>
  154.             </div>
  155.             </div>
  156.             <div class="clearfix"></div>
  157.             {% else %}
  158.             <div class="row" style="margin: 15px  0px;">
  159.                <div class="col-md-12">
  160.                <div class="flex-container" style="background: #fafafa; ">
  161.                   <div class="paginate-ctn">
  162.                 
  163.                     <a href="{{ path('produit_produit_acceuil_sousdomaine_type_market_place', {'idscat': idscat,'idpays': idpays,'idmarque': idmarque,'idtype': idtype, 'idville': idville, 'page': page }) }}" style="display: inline-block;" class="round-effect"> <span class="fa fa-fast-backward"></span> </a>
  164.                     <a href="{{ path('produit_produit_acceuil_sousdomaine_type_market_place', {'idscat': idscat,'idpays': idpays,'idmarque': idmarque,'idtype': idtype, 'idville': idville, 'page': page }) }}" style="display: inline-block;" class="round-effect"> <span class="fa fa-step-backward"></span> </a>
  165.                         <a href="{{ path('produit_produit_acceuil_sousdomaine_type_market_place', {'idscat': idscat,'idpays': idpays,'idmarque': idmarque,'idtype': idtype, 'idville': idville, 'page': 1 }) }}" style="display: inline-block;" class="round-effect activepage">1</a>
  166.                     <a href="{{ path('produit_produit_acceuil_sousdomaine_type_market_place', {'idscat': idscat,'idpays': idpays,'idmarque': idmarque,'idtype': idtype, 'idville': idville, 'page': page }) }}" style="display: inline-block;" class="round-effect"> <span class="fa fa-step-forward"></span> </a>
  167.                     <a href="{{ path('produit_produit_acceuil_sousdomaine_type_market_place', {'idscat': idscat,'idpays': idpays,'idmarque': idmarque,'idtype': idtype, 'idville': idville, 'page': page }) }}" style="display: inline-block;" class="round-effect"> <span class="fa fa-fast-forward"></span> </a>
  168.                 </div>
  169.                </div>
  170.             </div>
  171.             </div>
  172.             <div class="clearfix"></div>
  173.             {% endif %}
  174.     </div>
  175. </div>
  176. </div>
  177. </div>
  178. {% endblock %}
  179. {% block srcjavascripttemplate %}
  180. <script src="{{ asset('template/js/onvisible.js') }}" type="text/javascript"></script>
  181. <script src="{{ asset('autocomplete/js/jquery.auto-complete.js') }}"></script>
  182. {% endblock %}
  183. {% block javascripttemplate %}
  184. var bouge = 1;
  185. var dimension = 200;
  186. function activateelement()
  187. {
  188. var visibility = visibleElement('.animecourant-panel');
  189. if(visibility && bouge == 0){
  190.     bouge = 1;
  191.     $('.toutleblock').css('position','relative');
  192.     $('.toutleblock').css('bottom','0px');
  193.     $('.toutleblock').css('margin-bottom','0px');
  194. }
  195. }
  196. function stopelement()
  197. {
  198. var visibility = visibleElement('.stop-courant-panel');
  199. if(visibility && bouge == 1){
  200.     if(visibleElement('.animecourant-panel') && visibleElement('.stop-courant-panel'))
  201.     {
  202.     }else{
  203.     bouge = 0;
  204.     $('.toutleblock').css('position','fixed');
  205.     $('.toutleblock').css('width',dimension+'px');
  206.     $('.toutleblock').css('bottom','7px');
  207.     $('.toutleblock').css('margin-bottom','0px');
  208.     }
  209. }
  210. }
  211. function controlScroll()
  212. {
  213.     var largeur = ($(window).width());
  214.     dimension = $('.toutleblock').width();
  215.     if (largeur >= 768)
  216.     {
  217.         if(visibleElement('.animecourant-panel') && visibleElement('.stop-courant-panel'))
  218.         {
  219.         $('.toutleblock').css('position','fixed');
  220.         $('.toutleblock').css('width',dimension+'px');
  221.         }else{
  222.         window.setInterval(function() { stopelement(); }, 100);
  223.         window.setInterval(function() { activateelement(); }, 100);
  224.         }
  225.         
  226.     }
  227. }
  228. controlScroll();
  229. var jsonresult = {{ render(controller("App\\Controller\\Produit\\Service\\VilleController:autorechercheville", {'taille': 500})) }};
  230. var j = 0;
  231. var departchoices = [];
  232. for(var n in jsonresult){
  233.     nom = jsonresult[n].nom;
  234.     drapeau = jsonresult[n].drapeau;
  235.     id = jsonresult[n].id;
  236.     num = nom+":"+drapeau;
  237.     courantelem = [nom,drapeau,id];
  238.     departchoices[j] = courantelem;
  239.     j++;
  240. }
  241. $('#departement_etab').autoComplete({
  242.     minChars: 0,
  243.     source: function(term, suggest){
  244.         term = term.toLowerCase();
  245.         var suggestions = [];
  246.         for (i=0;i< departchoices.length;i++)
  247.             if (~(departchoices[i][0]+' '+departchoices[i][1]).toLowerCase().indexOf(term)) suggestions.push(departchoices[i]);
  248.         suggest(suggestions);
  249.     },
  250.     renderItem: function (item, search){
  251.         search = search.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
  252.         var re = new RegExp("(" + search.split(' ').join('|') + ")", "gi");
  253.         return '<div class="autocomplete-suggestion" data-langname="'+item[0]+'" data-lang="'+item[1]+'" data-id="'+item[2]+'"  data-val="'+search+'" data-img="'+item[1]+'"><img src="{{ asset('') }}'+item[1]+'" style="width: 30px; height: 20px; padding: 2px; margin-bottom: -5px!important;"> '+item[0].replace(re, "<b>$1</b>")+'</div>';
  254.     },
  255.     onSelect: function(e, term, item){
  256.         $('#departement_etab').val(item.data("langname"));
  257.     },
  258.     cache: false
  259. });
  260. $("#departement_etab").focus(function(){
  261.     rechercheutilisateur(); 
  262. });
  263. function rechercheutilisateur()
  264. {
  265.     if($('#departement_etab').val().length >= 2)// on vérifier si l'utilisateur a entré plus de 5 caractères
  266.     {
  267.       var libre = $('.zone-recherche-quartier').attr('value'); // on initialise la variable libre
  268.       var donnee = $('#departement_etab').val();  //on récupère la donnée
  269.       if (libre == 0 && donnee != $('.zone-recherche-quartier').attr('name')){ // on vérifier si la requête précedente est rétournée et que la recherche ne corespnd pas à la dernière effectuée
  270.       $('.zone-recherche-quartier').attr('value',1); // on bloque d'autres recherches
  271.       $('.zone-recherche-quartier').attr('name',donnee); // on enregistre la recherche effectuer.
  272.      
  273.       $.ajax({
  274.             url : '{{ path('produit_service_auto_recherche_ville') }}',
  275.             data : 'donnee='+donnee+'',
  276.             type : 'POST',
  277.             dataType : 'json',
  278.             success : function(data, statut){
  279.                 
  280.                 $('.zone-recherche-quartier').attr('value',0); // on libère d'autre recherches
  281.                 compt = departchoices.length;
  282.                 jsonresulta =  data;
  283.                 
  284.                 
  285.                 for(var n in jsonresulta){
  286.                     nom = jsonresulta[n].nom;
  287.                     drapeau = jsonresulta[n].drapeau;
  288.                     id = jsonresulta[n].id;
  289.                     num = nom+":"+drapeau;
  290.                     courantelem = [nom,drapeau,id];
  291.                     departchoices[compt] = courantelem;
  292.                     compt++;
  293.                 }
  294.               setTimeout(function(){ rechercheutilisateur(); }, 100);  // on relance la fonction après 200 ms.
  295.               
  296.             }
  297.         });
  298.       }else{
  299.         setTimeout(function() { rechercheutilisateur(); }, 100);
  300.       }
  301.     }else{
  302.         setTimeout(function() { rechercheutilisateur(); }, 100);
  303.     }
  304. }
  305. {% endblock %}