templates/fiche/_includes/diaporama.html.twig line 1

Open in your IDE?
  1. {# Retrouver la diapo principale, si aucune n'est définir on prend la 1ère #}
  2. {# On prend la diapo princiaple, sinon la 1ère trouvée sinon la diapo importée depuis le BO Jouve #}
  3. {% set diapoPrincipal = false %}
  4. {% if etablissement.isClient %}
  5.     {% if etablissement.diapoPlus and etablissement.diaporamas|length > 0  %}
  6.         {% for diapo in etablissement.diaporamas %}
  7.             {% if diapo.principal %}
  8.                 {% set diapoPrincipal = diapo %}
  9.             {% endif %}
  10.         {% endfor %}
  11.     {% endif %}
  12.     {% set diapoPrincipal = diapoPrincipal == true ? diapoPrincipal : etablissement.diaporamas | first %}
  13.     {% set diapoPrincipalPhotos = etablissement.diapoPlus ? diapoPrincipal.photo : diapoPrincipal.photo | slice(0, etablissement.nombrePhotosMax) %}
  14. {% endif %}
  15. {% if etablissement.isClient and (diapoPrincipal != false or etablissement.imagesDiaporama is not empty) %}
  16. {# <!-- BS5 Carousel --> #}
  17. <div id="diapo" class="carousel slide carousel-dark" data-bs-ride="carousel">
  18.   {# <!-- Indicators/dots --> #}
  19.   {# <div class="carousel-indicators">
  20.     <button type="button" data-bs-target="#diapo" data-bs-slide-to="0" class="active"></button>
  21.     <button type="button" data-bs-target="#diapo" data-bs-slide-to="1"></button>
  22.     <button type="button" data-bs-target="#diapo" data-bs-slide-to="2"></button>
  23.   </div> #}
  24.   
  25.   {# <!-- The slideshow/carousel --> #}
  26.   <div class="carousel-inner">
  27.     {# On affiche les photos du diaporama principal s'il existe #}
  28.     {% if diapoPrincipal != false %}
  29.         {% for item in diapoPrincipalPhotos %}
  30.             {% if loop.index0 < etablissement.getNombrePhotosMax %}  
  31.             <div class="carousel-item {% if loop.index0 == 0 %}active{% endif %}">
  32.                 <img src="{{ vich_uploader_asset(item, 'photoFile')| imagine_filter('diapo_une') }}" alt="{{ item.legende }}" class="d-block" style="width:100%; cursor:pointer;" data-bs-toggle="modal" data-bs-target="#diapoModal{{ loop.index }}">
  33.                 <div class="carousel-caption">
  34.                     <p>{{ item.legende }}</p>
  35.                 </div>
  36.             </div>
  37.             {# Modal for image preview #}
  38.             <div class="modal fade" id="diapoModal{{ loop.index }}" tabindex="-1" aria-labelledby="diapoModalLabel{{ loop.index }}" aria-hidden="true">
  39.                 <div class="modal-dialog modal-dialog-centered d-flex align-items-center justify-content-center" style="min-height: 100vh;">
  40.                     <div class="modal-content" style="width: auto; display: inline-block; margin: auto;">
  41.                         <div class="modal-body text-center" style="padding:0;">
  42.                             <img src="{{ vich_uploader_asset(item, 'photoFile') }}" alt="{{ item.legende }}" class="img-fluid" style="display:block; max-width:100%; height:auto;">
  43.                         </div>
  44.                     </div>
  45.                 </div>
  46.             </div>
  47.             {% endif %}
  48.         {% endfor %}
  49.     {% else %} 
  50.         {# On garde l'ancienne diapo au cas où la migration a foiré ...  #}
  51.         {% for item in etablissement.imagesDiaporama %}
  52.         <div class="carousel-item {% if loop.index0 == 0 %}active{% endif %}">
  53.             {% if loop.index0 < etablissement.getNombrePhotosMax %}  
  54.             <img src="{{ asset('images/jouve/photo/' ~ item) | imagine_filter('etab_fiche')}}" class="d-block" style="width:100%">
  55.             {% endif %}
  56.         </div>
  57.         {% endfor %}        
  58.     {% endif %}
  59.     
  60.   </div>
  61.   
  62.   {# <!-- Left and right controls/icons --> #}
  63.   {% if etablissement.getNombrePhotosMax > 1 %}
  64.   <button class="carousel-control-prev" type="button" data-bs-target="#diapo" data-bs-slide="prev">
  65.     <span class="carousel-control-prev-icon"></span>
  66.   </button>
  67.   <button class="carousel-control-next" type="button" data-bs-target="#diapo" data-bs-slide="next">
  68.     <span class="carousel-control-next-icon"></span>
  69.   </button>
  70.   {% endif %}
  71. </div>
  72. {% else %}
  73. <div class="fiche-diapo">
  74.     <div class="no-diapo"><span class="no-logo"></span></div>
  75. </div>
  76. {% endif %}
  77. {# {% if etablissement.isClient and etablissement.typeClient in ['établissement', 'internat'] %}
  78.     {% set isFav = favoris.has(etablissement) %}
  79.     <span class="fav-toggle {{ isFav ? 'fav-added' }}" data-id="{{ etablissement.id }}" title="{{ isFav ? 'Supprimer du favoris' : 'Ajouter aux favoris' }}"></span>
  80. {% endif %} #}