templates/front/centres.html.twig line 1

Open in your IDE?
  1. {% extends 'front.html.twig' %}
  2. {% block title %}Nos centres | CIMEF-INTERNATIONAL{% endblock %}
  3. {% block styleSheets %}
  4. <style id='wp-emoji-styles-inline-css' type='text/css'>
  5. #map {
  6.     height: 500px;
  7.     width: 100%;
  8. }
  9. .title{
  10.     font-family: arial;
  11.     font-weight: bolder;
  12. }
  13. .wrap_header_banner .overlay-slider {
  14.     position: absolute;
  15.     top: 0;
  16.     left: 0;
  17.     padding-top: 30px; 
  18.     width: 100%;
  19.     height: 100%;
  20.     background-color: rgba(0, 0, 0, 0.6392156863);
  21. }
  22. .card_centre{
  23.     /*border: 1px solid #ededed;*/
  24.     border-radius: 5px; 
  25.     margin: 10px;
  26. }
  27. .card_centre:hover{
  28.     box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  29. }
  30. .text-center{
  31.     text-align: center;
  32.     padding: 10px;
  33.     margin-top: -90px;
  34. }
  35. .titre-formation{
  36.     font-weight: bold; 
  37.     font-size: 25px !important; 
  38.     font-family: arial; 
  39.     color: #fff;
  40.     text-shadow: 2px 2px 4px #000000;
  41. }
  42. /*# sourceURL=wp-emoji-styles-inline-css */
  43. </style>
  44. {% endblock %}
  45. {% block mapjs %}
  46.     <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"/>
  47.     <script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>
  48. {% endblock %}
  49. {% block body %}
  50. {% include 'section/navbar.html.twig' %}
  51. <div class="wrap_header_banner" style="height: 200px; background: url({{ asset('public/inter/wp-content/uploads/2023/06/header-banner.jpg')}});">
  52.     <div class="overlay-slider">
  53.         <div class="row_site">
  54.             <div class="container_site">
  55.                 <div class="cover_color"></div>
  56.                 <div class="header_banner_el">
  57.                     <div class="header_breadcrumbs">
  58.                         <div id="breadcrumbs">
  59.                         <ul class="breadcrumb">
  60.                             <li><a href="{{ path('front.inter.index') }}" style="color: #fff!important;" title="accueil">Accueil</a></li>
  61.                             <li class="li_separator"><span class="separator"><i class="ovaicon-next" style="color: #fff!important;"></i></span></li>
  62.                             <li style="color: #fff!important;">Nos centres</li>
  63.                         </ul>
  64.                         </div>
  65.                     </div>
  66.                     <h1 class="header_title" style="color: #fff!important;">Nos centres </h1>
  67.                 </div>
  68.             </div>
  69.         </div>
  70.     </div>
  71. </div>
  72. <div style="padding-top: 50px; padding-bottom: 50px;" data-elementor-type="wp-page" data-elementor-id="405" class="elementor elementor-405">
  73.    <section class="elementor-section elementor-top-section elementor-element elementor-element-574990e elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="574990e" data-element_type="section">
  74.       <div class="elementor-container elementor-column-gap-no">
  75.          <div class="elementor-column elementor-col-120 elementor-top-column elementor-element elementor-element-eabb843" data-id="eabb843" data-element_type="column">
  76.             <div class="elementor-widget-wrap elementor-element-populated">
  77.                <div class="elementor-element elementor-element-a45a98c elementor-widget elementor-widget-gimont_elementor_heading" data-id="a45a98c" data-element_type="widget" data-widget_type="gimont_elementor_heading.default">
  78.                   <div class="elementor-widget-container">
  79.                      <div class="ova-heading template_1" style="padding-left: 50px; padding-right: 50px;">
  80.                         <span class="line"></span>
  81.                         <span class="subtitle">Nos centres</span>
  82.                         <h2 class="title" style="font-size: 28px;">Nos centres de formations</h2>
  83.         
  84.                         <p class="desc" style="margin-top: -20px;">
  85.                             Présent à Abidjan, Paris, Dakar et Casablanca, le CIMEF vous accompagne dans vos projets de formation, de reconversion professionnelle ou de 
  86.                             développement d’entreprise.Nos équipes locales sont disponibles pour vous conseiller et répondre à toutes vos questions sous 24h.</p>
  87.                      <br>
  88.                         <div class="row">
  89.                             {% if ville != null %}
  90.                                 {% for vil in ville %}
  91.                                 <div class="col-lg-4 col-md-4 col-sm-12">
  92.                                     <a href="{{ path('front.detail.centre',{'slug': vil.slug}) }}">
  93.                                     <div class="card_centre" style="padding: 10px;">
  94.                                         {% if vil.image !=null %}
  95.                                             <img loading="lazy" style="border-top-left-radius: 5px; border-top-right-radius: 5px; width: 100%; height: 250px;" src="{{ asset('public/uploads/images/actualites/' ~ vil.image) }}" 
  96.                                             class="attachment-ovaev_event_thumbnail size-ovaev_event_thumbnail wp-post-image" alt="{{ vil.nom }}" decoding="async" 
  97.                                             srcset="{{ asset('public/uploads/images/centres/' ~ vil.image) }}" sizes="(max-width: 600px) 100vw, 600px" />
  98.                                         {% else %}
  99.                                             <img loading="lazy" style="width: 100%; height: 250px;" src="{{ asset('public/inter/logo-inter.jpg') }}" 
  100.                                             class="attachment-ovaev_event_thumbnail size-ovaev_event_thumbnail wp-post-image" alt="Logo CIMEF INTERNATIONAL"
  101.                                             sizes="(max-width: 600px) 100vw, 600px"/>
  102.                                         {% endif %}
  103.                                         <div class="text-center">
  104.                                             <h2 class="titre-formation">{{ vil.nom }}</h2>
  105.                                         </div>
  106.                                     </div>
  107.                                     </a>
  108.                                 </div>
  109.                                 {% endfor %}
  110.                             {% endif %}
  111.                         </div>
  112.                      </div>
  113.                      <div style="margin-top: 80px; margin-bottom: 80px; border: 7px solid #ededed;">
  114.                          <div id="map"></div>
  115.                      </div>
  116.                          
  117.                   </div>
  118.                </div>
  119.             </div>
  120.          </div>
  121.       </div>
  122.    </section>
  123.    
  124.   <script>
  125.   /*
  126.     // Icône personnalisée
  127.     var customIcon = L.icon({
  128.         iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-red.png',
  129.         shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/images/marker-shadow.png',
  130.         iconSize: [25, 41],
  131.         iconAnchor: [12, 41],
  132.         popupAnchor: [1, -34]
  133.     });
  134.     // Layers de base
  135.     var planLayer = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
  136.         attribution: '&copy; OpenStreetMap contributors'
  137.     });
  138.     var satelliteLayer = L.tileLayer(
  139.         'https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}',
  140.         {
  141.             attribution: '© Esri, Maxar'
  142.         }
  143.     );
  144.     // Initialisation de la carte (Plan par défaut)
  145.     var map = L.map('map', {
  146.         center: [20, 0],
  147.         zoom: 2,
  148.         layers: [planLayer]
  149.     });
  150.     // Bouton Plan / Satellite
  151.     L.control.layers({
  152.         "Plan": planLayer,
  153.         "Satellite": satelliteLayer
  154.     }).addTo(map);
  155.     // Données venant de Twig
  156.     var locations = {{ locations|json_encode|raw }};
  157.     var markers = [];
  158.     
  159.     locations.forEach(function(location) {
  160.     var marker = L.marker([location.lat, location.lng], { icon: customIcon })
  161.         .addTo(map)
  162.         .bindPopup(`
  163.             <strong>${location.ville}</strong><br>
  164.             <a href="https://www.google.com/maps?q=&layer=c&cbll=${location.lat},${location.lng}"
  165.                target="_blank">
  166.                Voir Street View
  167.             </a>
  168.         `);
  169.     markers.push(marker);
  170. });
  171. // Zoom + ouverture popup
  172.     function zoomOn(lat, lng) {
  173.         map.setView([lat, lng], 12);
  174.         markers.forEach(function(marker) {
  175.             var position = marker.getLatLng();
  176.             if (position.lat === lat && position.lng === lng) {
  177.                 marker.openPopup();
  178.             }
  179.         });
  180.     }
  181.         
  182.     */
  183. </script>
  184.  
  185.    
  186. <script>
  187.     var customIcon = L.icon({
  188.         iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-red.png', // Changer ici pour une autre couleur
  189.         shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/images/marker-shadow.png',
  190.         iconSize: [25, 41],  // Taille du marqueur
  191.         iconAnchor: [12, 41], // Ancre du marqueur
  192.         popupAnchor: [1, -34] // Position du popup
  193.     });
  194.     
  195.     var map = L.map('map').setView([20, 0], 2); // Vue centrée sur la France
  196.     L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
  197.         attribution: '&copy; OpenStreetMap contributors'
  198.     }).addTo(map);
  199.     var locations = {{ locations|json_encode|raw }};
  200.     var markers = [];
  201.     locations.forEach(function(location) {
  202.         var marker = L.marker([location.lat, location.lng], { icon: customIcon }).addTo(map)
  203.             .bindPopup(location.ville);
  204.         markers.push(marker);
  205.     });
  206.     function zoomOn(lat, lng) {
  207.         map.setView([lat, lng], 12); // Zoom sur la position
  208.     }
  209.     function zoomOn(lat, lng) {
  210.         map.setView([lat, lng], 12);
  211.         
  212.         // Trouver et ouvrir la popup du marqueur correspondant
  213.         markers.forEach(function(marker) {
  214.         var position = marker.getLatLng();
  215.         if (position.lat === lat && position.lng === lng) {
  216.             marker.openPopup();
  217.         }
  218.     });
  219. }
  220. </script>
  221.    
  222. </div>
  223. {% include 'section/footer.html.twig' %}               
  224. {% endblock %}