templates/front/formation/detail.html.twig line 1

  1. {% extends 'front_layout.html.twig' %}
  2. {% if formation.seoParent is not null %}
  3.     {% if formation.seoParent.seo.metaTitre is not empty %}
  4.         {% set titre = formation.seoParent.seo.metaTitre %}
  5.     {% else %}
  6.         {% set titre = formation.titreFormation %}
  7.     {% endif %}
  8. {% else %}
  9.        {% set titre = formation.titreFormation %}
  10. {% endif %}
  11. {% block title %}
  12.     {{ titre }}
  13. {% endblock %}
  14. {% block seo %}
  15. {{ render(path('app_global_seo_formation', {'id': formation.id })) }}
  16. {% endblock %}
  17. {% block body %}
  18. <main class="t-page">
  19.     <header class="t-page__header"
  20.         style="background-image: url('{{ formation.banniere.filepath is defined  ? asset('/uploads/medias/' ~ formation.banniere.filepath)|imagine_filter('banner') : 'https://placehold.co/1920x320?text=*' }}');">
  21.         <h1 class="t-page__mainTitle">{{ formation.titreFormation }}</h1>
  22.         <p class="t-page__mainTitle t-page__mainTitle--Sub">{{ formation.domaineId.titreDomaine ?? '' }} / {{
  23.             formation.dureeId.titreDuree ?? '' }}</p>
  24.     </header>
  25.     <div class="t-page__wrap">
  26.         {{ render(controller('App\\Controller\\WidgetController::breadcrumb', {'request': app.request})) }}
  27.     </div>
  28.     <section class="formationFirst">
  29.         <div class="formationFirst__wrap">
  30.             <div class="formationFirst__left b-accordion__js">
  31.                 <div class="b-accordion__item  ac">
  32.                     <button type="button" class="b-accordion__subtitle ac-trigger">Public et pré-requis</button>
  33.                     <p class="b-accordion__txt ac-panel">{{ formation.preRequis | nl2br }}</p>
  34.                 </div>
  35.                 <div class="b-accordion__item  ac">
  36.                     <button type="button" class="b-accordion__subtitle ac-trigger">Durée</button>
  37.                     <p class="b-accordion__txt ac-panel">{{ formation.duree | nl2br }}</p>
  38.                 </div>
  39.                 <div class="b-accordion__item  ac">
  40.                     <button type="button" class="b-accordion__subtitle ac-trigger">Moyens mobilisés</button>
  41.                     <p class="b-accordion__txt ac-panel">{{ formation.moyens | nl2br }}</p>
  42.                 </div>
  43.                 <div class="b-accordion__item  ac">
  44.                     <button type="button" class="b-accordion__subtitle ac-trigger">Modalités</button>
  45.                     <p class="b-accordion__txt ac-panel">{{ formation.modalites | nl2br }}</p>
  46.                 </div>
  47.                 <div class="b-accordion__item  ac">
  48.                     <button type="button" class="b-accordion__subtitle ac-trigger">Et après</button>
  49.                     <p class="b-accordion__txt ac-panel">{{ formation.apres | nl2br }}</p>
  50.                 </div>
  51.             </div>
  52.             <div class="formationFirst__right">
  53.                 <div class="formationFirst__pane">
  54.                     <div class="formationFirst__content">{{ formation.contenu | raw }}</div>
  55.                     <div class="formationFirst__footer">
  56.                         <div class="formationFirst__socials">
  57.                             {% if formation.twitter is not null %}<a class="formationFirst__social"
  58.                                 href="{{ formation.twitter }}">
  59.                                 <svg class="r-footer__socialIco">
  60.                                     <use xlink:href="#twitter"></use>
  61.                                 </svg>
  62.                             </a>{% endif %}
  63.                             {% if formation.facebook is not null %}<a class="formationFirst__social"
  64.                                 href="{{ formation.facebook }}">
  65.                                 <svg class="r-footer__socialIco">
  66.                                     <use xlink:href="#facebook"></use>
  67.                                 </svg>
  68.                             </a>{% endif %}
  69.                             {% if formation.instagram is not null %}<a class="formationFirst__social"
  70.                                 href="{{ formation.instagram }}">
  71.                                 <svg class="r-footer__socialIco">
  72.                                     <use xlink:href="#instagram"></use>
  73.                                 </svg>
  74.                             </a>{% endif %}
  75.                             {% if formation.linkedin is not null %}<a class="formationFirst__social"
  76.                                 href="{{ formation.linkedin }}">
  77.                                 <svg class="r-footer__socialIco">
  78.                                     <use xlink:href="#linkedin"></use>
  79.                                 </svg>
  80.                             </a>{% endif %}
  81.                         </div>
  82.                         <a class="formationFirst__btn" href="{{ formation.formationLien }}">Inscription
  83.                             <svg>
  84.                                 <use xlink:href="#caret-right"></use>
  85.                             </svg>
  86.                         </a>
  87.                     </div>
  88.                 </div>
  89.                 <!-- Gallery -->
  90.                 <section class="formationSlider" id="lightgallery">
  91.                     {# TODO diaporama formation #}
  92.                     {% if formation.diaporamaFormation is not null %}
  93.                         {% for diapoItem in formation.diaporamaFormation.diaporamaFormationItems %}
  94.                                 <a class="formationSlider__link" href="{{ asset('/uploads/medias/' ~ diapoItem.banniereFormation.filepath) }}">
  95.                                     <img 
  96.                                         class="formationSlider__img" 
  97.                                         src="{{ asset('/uploads/medias/' ~ diapoItem.banniereFormation.filepath)|imagine_filter('c160') }}" 
  98.                                         alt="{{ diapoItem.banniereFormation.alt }}"
  99.                                     >
  100.                                 </a>
  101.                         {% endfor %}
  102.                     {% endif %}
  103.                 </section>
  104.                 
  105.         </div>
  106.     </section>
  107.     {% for b in blocFormation %}
  108.         {% if b.blocDiaporama is not null %}
  109.             {% include 'front/blocs/_diaporama.html.twig' with { 'bloc' : b.blocDiaporama } %}
  110.         {% elseif b.BlocAccordeon is not null %}
  111.             {% include 'front/blocs/_accordeon.html.twig' with { 'bloc' : b.BlocAccordeon } %}
  112.         {% elseif b.blocColonne is not null %}
  113.             {% include 'front/blocs/_colonne.html.twig' with { 'bloc' : b.blocColonne } %}
  114.         {% elseif b.BlocTextImage is not null %}
  115.             {% include 'front/blocs/_text_image.html.twig' with { 'bloc' : b.BlocTextImage } %}
  116.         {% elseif b.blocVideo is not null %}
  117.             {% include 'front/blocs/_video.html.twig' with { 'bloc' : b.blocVideo } %}
  118.         {% endif %}
  119.     {% endfor %}
  120.     <section class="formationSecond">
  121.         <div class="formationSecond__wrap">
  122.             <h2 class="formationSecond__title">Venez découvrir nos formations en vidéo</h2>
  123.             <div class="ratio">
  124.                 <iframe src="https://www.youtube.com/embed/{{ formation.lienVideo }}" frameborder="0"
  125.                     allow="encrypted-media; picture-in-picture" allowfullscreen></iframe>
  126.             </div>
  127.             <div class="formationSecond__cols">
  128.                 <div class="formationSecond__col">
  129.                     <svg class="formationSecond__svg">
  130.                         <use xlink:href="#illu-horraires"></use>
  131.                     </svg>
  132.                     <p class="formationSecond__subtitle">Horaires aménagés <br> Sportifs / élève à besoin particulier</p>
  133.                     <p>{{ formation.horairesAmenages }}</p>
  134.                 </div>
  135.                 <div class="formationSecond__col">
  136.                     <svg class="formationSecond__svg">
  137.                         <use xlink:href="#illu-tarifs"></use>
  138.                     </svg>
  139.                     <p class="formationSecond__subtitle">Tarifs</p>
  140.                     <p>{{ formation.tarifs }}</p>
  141.                     <a class="formationSecond__btn" href="{{ path('app_page_simuler_tarif') }}">Simulateur
  142.                         <svg>
  143.                             <use xlink:href="#caret-right"></use>
  144.                         </svg>
  145.                     </a>
  146.                 </div>
  147.                 <div class="formationSecond__col">
  148.                     <svg class="formationSecond__svg">
  149.                         <use xlink:href="#illu-resultats"></use>
  150.                     </svg>
  151.                     <p class="formationSecond__subtitle">Indicateurs résultats</p>
  152.                     <p>{{ formation.indicResultat }}</p>
  153.                 </div>
  154.             </div>
  155.         </div>
  156.     </section>
  157.     {# <section>
  158.         <h2>Paroles données aux étudiants</h2>
  159.         <div>
  160.             <p>" Caesarem convellere nisu valido cogitabat, eique deliberanti cum proximis clandestinis. Vbi curarum
  161.                 abiectis ponderibus aliis tamquam nodum et codicem difficillimum Caesarem. convellere nisu valido
  162.                 cogitabat, eique deliberanti …. "</p>
  163.             <p>" Caesarem convellere nisu valido cogitabat, eique deliberanti cum proximis clandestinis. Vbi curarum
  164.                 abiectis ponderibus aliis tamquam nodum et codicem difficillimum Caesarem. convellere nisu valido
  165.                 cogitabat, eique deliberanti …. "</p>
  166.         </div>
  167.     </section> #}
  168.     <section class="homeActus">
  169.         <div class="homeActus__wrap">
  170.             <div class="homeActus__row">
  171.                 <h2 class="homeActus__title">Nos autres formations</h2>
  172.                 <a class="homeActus__all" href="{{ path('app_formation_list') }}">&gt; Toutes les formations</a>
  173.             </div>
  174.             <div class="homeActus__slick">
  175.                 {% for formation in formations %}
  176.                 <div class="homeActus__slide">
  177.                     <a href="{{ path('app_formation_detail', {'formation': formation.id}) }}">
  178.                         {% if formation.banniere is not null %}
  179.                         <img class="homeActus__img"
  180.                             src="{{ asset('/uploads/medias/' ~ formation.banniere.filepath)|imagine_filter('c255') }}"
  181.                             alt="{{ formation.banniere.alt }}">
  182.                         {% else %}
  183.                         <img class="homeActus__img" src="https://placehold.co/255?text=*" alt="">
  184.                         {% endif %}
  185.                         <div class="homeActus__txt">{{ formation.titreFormation }}</div>
  186.                     </a>
  187.                 </div>
  188.                 {% endfor %}
  189.             </div>
  190.         </div>
  191.     </section>
  192. </main>
  193. {% endblock %}