templates/jpo/fiche.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {%- block title -%}
  3. {%- autoescape false -%}
  4.     Journées portes ouvertes - {{ jpo.date | format_date(pattern='d/M/Y') -}}
  5.     {%- if jpo.etablissement -%}
  6.         - {{ jpo.etablissement.denomination | u.truncate(40, '...', false) }}
  7.         {%- if jpo.etablissement.ville and not jpo.etablissement.ville.empty -%}
  8.             - {{ jpo.etablissement.ville|lieuLibelle }}
  9.         {%- endif -%}
  10.     {%- else -%}
  11.     - enseignement-prive.info
  12.     {%- endif -%}
  13. {%- endautoescape -%}    
  14. {%- endblock -%}
  15. {% block description -%}
  16. {%- autoescape false -%}
  17.     Journées portes ouvertes - {{ jpo.date | format_date(pattern='d MMMM Y') -}}
  18.     {%- if jpo.etablissement -%}
  19.         - {{ jpo.etablissement.denomination }}
  20.         {%- if jpo.etablissement.ville and not jpo.etablissement.ville.empty -%}
  21.             - {{ jpo.etablissement.ville|lieuLibelle }}
  22.         {%- endif -%}
  23.     {%- else -%}
  24.     - enseignement-prive.info
  25.     {%- endif -%}
  26. {%- endautoescape -%}   
  27. {%- endblock %}
  28. {% block body %}
  29. {% set imgAlt = [
  30.     jpo.etablissement.codePostal,
  31.     (jpo.etablissement.ville ? jpo.etablissement.ville.libelle : ''),
  32.     jpo.etablissement.denomination,
  33. ]|join(' - ')|trim(' -') %}
  34. {% set urlFiche = pathBuilder.buildFiche(jpo.etablissement) %}
  35. <section class="container page-jpo single">
  36.     <div id="breadcrumb">
  37.         {% include 'jpo/_includes/breadcrumb.html.twig' with {
  38.             'jpo' : jpo,
  39.             'currentURL' : currentURL,
  40.         }
  41.             only %}
  42.     </div>
  43.     <div class="title">
  44.         <h1>Journées portes ouvertes</h1>
  45.         <div class="triangle-defaut"></div>
  46.     </div>
  47.     {# ----- Contexte recherche --------------------------------------------- #}
  48.     <div class="recherche-contexte" role="group">
  49.         <a href="{{ path('jpo-liste') }}" class="liste ">
  50.             Retour à la liste
  51.         </a>
  52.     </div>
  53.     <section>
  54.         <article>
  55.             <div class="illustration">
  56.                 {% set imgSrc = vich_uploader_asset(jpo, 'image1File') %}
  57.                 {% if imgSrc and jpo.etablissement.isClient %}
  58.                     <ul class="cycle internal">
  59.                         <li style="background-image: url('{{ imgSrc }}');"></li>
  60.                     </ul>
  61.                 {% elseif jpo.etablissement.imagesDiaporama is not empty and jpo.etablissement.isClient %}
  62.                     <ul class="cycle">
  63.                         {% for item in jpo.etablissement.imagesDiaporama %}
  64.                             <li style="background-image: url('{{ asset('images/jouve/photo/' ~ item) | imagine_filter('diapo_list') }}');"></li>
  65.                         {% endfor %}
  66.                     </ul>
  67.                 {% else %}
  68.                     <div class="no-diapo"><span class="no-logo"></span></div>
  69.                 {% endif %}
  70.                 <div class="col-12 d-flex flex-wrap p-0 mt-3">
  71.                     {% if jpo.fileName is not null %}
  72.                         <div class="block-document">
  73.                             <h2>Documents</h2>
  74.                             <div class="col-12 document-icon">
  75.                                 <a href="{{vich_uploader_asset(jpo, 'jpoFile')}}" download>{{ jpo.legende }}</a>
  76.                             </div>
  77.                         </div>
  78.                     {% endif %}
  79.                 </div>
  80.             </div>
  81.             <div class="content">
  82.                 <figure>
  83.                     {% if jpo.etablissement.logo is not empty %}
  84.                         <img src="{{ vich_uploader_asset(jpo.etablissement.logo, 'logoFile') | imagine_filter('etab_fiche_logo') }}" alt="{{ imgAlt }}" title="{{ imgAlt }}">
  85.                         {% set figure = vich_uploader_asset(jpo.etablissement.logo, 'logoFile') | imagine_filter('etab_fiche_logo') %}
  86.                     {% else %}
  87.                         <span class="no-logo"></span>
  88.                     {% endif %}
  89.                 </figure>
  90.                 <span class="date">
  91.                     {% for item in jpo.etablissement.jPOs %}
  92.                         <span class="{{ (item.date == jpo.date) ? 'idem' : '' }}">{{ item.date | format_date(pattern='d MMMM Y') }}</span>
  93.                     {% endfor %}
  94.                 </span>
  95.                 <p class="city">{{ jpo.lieu }}</p>
  96.                 <p class="estab">{{ jpo.etablissement.denomination }}</p>
  97.                 <p class="schedule">
  98.                     Le {{ jpo.date | format_date(pattern='d MMMM Y') }}
  99.                   {% if jpo.heureDebut is not empty %} de {{ jpo.heureDebut | date("H\\hi") }}{% endif %}
  100.                 {% if jpo.heureFin is not empty %} à {{ jpo.heureFin | date("H\\hi") }}{% endif %}
  101.                 </p>
  102.                 <p>{{ jpo.contenu | raw }}</p>
  103.                 {% if jpo.etablissement is defined and jpo.etablissement is not empty %}
  104.                     <div class="links">
  105.                         <a class="fiche-link" href="{{ urlFiche }}" data-trace-action="{{ constant('App\\Entity\\Trace::CLIC_FICHE_JPO') | e('html_attr') }}" data-trace-etab="{{ jpo.etablissement.id | e('html_attr') }}">Voir la fiche établissement</a>
  106.                         {% include '_includes/lien-masque.html.twig' with {
  107.                             'target': path('form-di',
  108.                                 {id : jpo.etablissement.id}
  109.                             ),
  110.                             'content': 'Contacter l\'établissement',
  111.                         } only %}
  112.                     </div>
  113.                 {% endif %}
  114.             </div>
  115.         </article>
  116.     </section>
  117. </section>
  118. {% endblock %}
  119. {% block data_layer %}
  120. <script>
  121. window.dataLayer = window.dataLayer || [];
  122. {% set etablissement = jpo.etablissement %}
  123. {% set ville = etablissement.ville %}
  124. {% set item = {
  125.     'item_id': jpo.id,
  126.     'item_name': 'JPO - ' ~ etablissement.denomination ~ ' - ' ~ (jpo.date | format_date(pattern='d MMMM Y')),
  127.     'item_category': 'journee_portes_ouvertes',
  128.     'item_category2': typeEtablissementSimple(etablissement.type),
  129.     'item_category3': jpo.date | date('Y-m'),
  130.     'item_category4': ville ? ville.slug | replace({'-': '_'}) : null,
  131.     'location_id': ville ? ville.departement.id ~ '-' ~ etablissement.codePostal ~ '-' ~ ville.libelle : null,
  132.     'jpo_date': jpo.date | date('Y-m-d'),
  133.     'etablissement_id': etablissement.id,
  134.     'etablissement_nom': etablissement.denomination,
  135.     'etablissement_segment': etablissement.isClient ? 'client' : 'prospect'
  136. } %}
  137. dataLayer.push({
  138.     event: "page_context",
  139.     page_type: "fiche_jpo",
  140.     fiche_type: "portes_ouvertes",
  141.     site_section: "portes_ouvertes",
  142.     jpo_id: {{ jpo.id|json_encode|raw }},
  143.     jpo_nom: {{ item.item_name|json_encode(constant('JSON_UNESCAPED_UNICODE'))|raw }},
  144.     jpo_date: {{ item.jpo_date|json_encode|raw }},
  145.     jpo_mois: {{ item.item_category3|json_encode|raw }},
  146.     education_niveau: {{ item.item_category2|json_encode|raw }},
  147.     region: {{ ville and ville.departement.region is defined ? ville.departement.region.slug|json_encode|raw : 'null' }},
  148.     departement: {{ ville ? ville.departement.id|json_encode|raw : 'null' }},
  149.     ville: {{ ville ? ville.libelle|json_encode(constant('JSON_UNESCAPED_UNICODE'))|raw : 'null' }},
  150.     code_postal: {{ etablissement.codePostal|json_encode|raw }},
  151.     etablissement_id: {{ etablissement.id|json_encode|raw }},
  152.     etablissement_nom: {{ etablissement.denomination|json_encode(constant('JSON_UNESCAPED_UNICODE'))|raw }},
  153.     etablissement_segment: {{ item.etablissement_segment|json_encode|raw }}
  154. });
  155. dataLayer.push({ ecommerce: null });
  156. dataLayer.push({
  157.     event: "view_item",
  158.     ecommerce: {
  159.         items: [{{ item|json_encode(constant('JSON_UNESCAPED_UNICODE'))|raw }}]
  160.     }
  161. });
  162. console.log(dataLayer);
  163. </script>
  164. {% endblock %}