templates/partials/_menu.html.twig line 1

Open in your IDE?
  1. {% set btsPrograms = programService.getProgramLevel(1) %}
  2. {% set bachelorPrograms = programService.getProgramLevel(2) %}
  3. {% set mbaPrograms = programService.getProgramLevel(3) %}
  4. {% set profile = app.user ? profileService.getProfileByUserId(app.user.id) : null %}
  5. <header class=" fixed-top bg-gradient">
  6.   <div class="container">
  7.     <div class="row">
  8.       <div class="col-12">
  9.         <nav class="navbar navbar-expand-xl px-0" data-aos='fade-down'>
  10.           <a class="navbar-brand" href="/">
  11.             <img src="{{ asset('assets/images/logo-white.svg') }}" alt="Estiam" width="160" />
  12.           </a>
  13.           <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
  14.             <label for="check">
  15.               <input type="checkbox" id="check"/> 
  16.               <span></span>
  17.               <span></span>
  18.               <span></span>
  19.             </label>
  20.           </button>
  21.           <div class="collapse navbar-collapse justify-content-end pb-md-0 pb-4" id="navbarCollapse">
  22.             <ul class="navbar-nav nav-menu">
  23.               <li class="nav-item dropdown mx-sm-1 mx-0">
  24.                 <a class="nav-link dropdown-toggle {{ (app.request.get('_route') == 'page.our_student' 
  25.                                                     or app.request.get('_route') == 'page.estiam_en_images'
  26.                                                     or app.request.get('_route') == 'alumni_index' 
  27.                                                     or app.request.get('_route') == 'alumni_detail' 
  28.                                                     or app.request.get('_route') == 'campus.index' 
  29.                                                     or app.request.get('_route') == 'faq' 
  30.                                                     or app.request.get('_route') == 'nos_valeurs' 
  31.                                                     or app.request.get('_route') == 'etudier_estiam' 
  32.                                                     or app.request.get('_route') == 'pedagogie' 
  33.                                                     or app.request.get('_route') == 'cursus' 
  34.                                                     or app.request.get('_route') == 'habilitations' 
  35.                                                     or app.request.get('_route') == 'conseil' 
  36.                                                     or app.request.get('_route') == 'etudier_handicap'
  37.                                                     or app.request.get('_route') == 'bons_aide'
  38.                                                     or app.request.get('_route') == 'bons_voyagez'
  39.                                                     or app.request.get('_route') == 'bons_permis'
  40.                                                     or app.request.get('_route') == 'bons_informatique'
  41.                                                     or app.request.get('_route') == 'bons_cultivez'
  42.                                                     or app.request.get('_route') == 'bons_shopping'
  43.                                                     or app.request.get('_route') == 'tarifs') ? 'active' : '' }}" href="javascript:void(0)" data-toggle="dropdown">{% trans %}L’école{% endtrans %}</a>
  44.                 <div class="dropdown-menu">
  45.                   <a class="dropdown-item {{ (app.request.get('_route') == 'nos_valeurs' 
  46.                                             or app.request.get('_route') == 'etudier_estiam' 
  47.                                             or app.request.get('_route') == 'pedagogie' 
  48.                                             or app.request.get('_route') == 'cursus' 
  49.                                             or app.request.get('_route') == 'habilitations' 
  50.                                             or app.request.get('_route') == 'conseil' 
  51.                                             or app.request.get('_route') == 'etudier_handicap') ? 'active' : '' }}" href="{{path('nos_valeurs')}}"><i class="fa-solid fa-arrow-right"></i>{% trans %}Notre école{% endtrans %}</a>
  52.                   <a class="dropdown-item {{ app.request.get('_route') == 'campus.index' ? 'active' : '' }}" href="{{path('campus.index')}}"><i class="fa-solid fa-arrow-right"></i>{% trans %}Nos campus{% endtrans %}</a>
  53.                   <a class="dropdown-item {{ app.request.get('_route') == 'tarifs' ? 'active' : '' }}" href="{{path('tarifs')}}"><i class="fa-solid fa-arrow-right"></i>{% trans %}Tarifs{% endtrans %}</a>
  54.                   <a class="dropdown-item {{ app.request.get('_route') == 'page.our_student' ? 'active' : '' }}" href="{{path('page.our_student')}}"><i class="fa-solid fa-arrow-right"></i>{% trans %}Nos étudiants en parlent{% endtrans %}</a>
  55.                   <a class="dropdown-item {{ app.request.get('_route') == 'page.estiam_en_images' ? 'active' : '' }}" href="{{path('page.estiam_en_images')}}"><i class="fa-solid fa-arrow-right"></i>{% trans %}ÉSTIAM en images{% endtrans %}</a>
  56.                   <a class="dropdown-item {{ app.request.get('_route') == 'alumni_index' ? 'active' : '' }}" href="{{path('alumni_index')}}"><i class="fa-solid fa-arrow-right"></i>{% trans %}Alumni{% endtrans %}</a>
  57.                   <a class="dropdown-item {{ app.request.get('_route') == 'faq' ? 'active' : '' }}" href="{{path('faq')}}"><i class="fa-solid fa-arrow-right"></i>{% trans %}Foire aux questions{% endtrans %}</a>
  58.                   <a class="dropdown-item {{ (app.request.get('_route') == 'bons_aide'
  59.                                             or app.request.get('_route') == 'bons_voyagez'
  60.                                             or app.request.get('_route') == 'bons_permis'
  61.                                             or app.request.get('_route') == 'bons_informatique'
  62.                                             or app.request.get('_route') == 'bons_cultivez'
  63.                                             or app.request.get('_route') == 'bons_shopping') ? 'active' : '' }}" href="{{path("bons_aide")}}"><i class="fa-solid fa-arrow-right"></i>{% trans %}Bons plans étudiants{% endtrans %}</a>
  64.                 </div>
  65.               </li>
  66.               <li class="nav-item dropdown mx-sm-1 mx-0">
  67.                 <a class="nav-link dropdown-toggle {{ (app.request.get('_route') == 'level' 
  68.                                                     or app.request.get('_route') == 'program_detail_no_alternance') ? 'active' : '' }}" href="javascript:void(0)" data-toggle="dropdown">{% trans %}Programmes{% endtrans %}</a>
  69.                 <div class="dropdown-menu">
  70.                   <div class="dropdown-header"><a href="{{path('level', { level: 'bts' })}}">BTS</a></div>
  71.                   {% for program in btsPrograms %}
  72.                     <a class="dropdown-item" href="{{path('program_detail_no_alternance', { slug: program.slug })}}"><i class="fa-solid fa-arrow-right"></i>{{ program.name}}</a>
  73.                   {% endfor %}
  74.                   <div class="dropdown-header"><a href="{{path('level', { level: 'bachelor' })}}">Bachelor (Bac +3)</a></div>
  75.                   {% for program in bachelorPrograms %}
  76.                     <a class="dropdown-item" href="{{path('program_detail_no_alternance', { slug: program.slug })}}"><i class="fa-solid fa-arrow-right"></i>{{ program.name}}</a>
  77.                   {% endfor %}
  78.                   <div class="dropdown-header"><a href="{{path('level', { level: 'mba' })}}">MSc & MBA (Bac +5)</a></div>
  79.                   {% for program in mbaPrograms %}
  80.                       <a class="dropdown-item" href="{{path('program_detail_no_alternance', { slug: program.slug })}}"><i class="fa-solid fa-arrow-right"></i>{{ program.name}}</a>
  81.                   {% endfor %}
  82.                 </div>
  83.               </li>
  84.               <li class="nav-item dropdown mx-sm-1 mx-0">
  85.                 <a class="nav-link dropdown-toggle {{ (app.request.get('_route') == 'alternance' 
  86.                                                       or app.request.get('_route') == 'job_board.index' ) ? 'active' : '' }}" href="javascript:void(0)" data-toggle="dropdown">{% trans %}Alternance{% endtrans %}</a>
  87.                 <div class="dropdown-menu">
  88.                   <a class="dropdown-item {{ app.request.get('_route') == 'alternance' ? 'active' : '' }}" href="{{path('alternance')}}"><i class="fa-solid fa-arrow-right"></i>{% trans %}L'alternance, comment ça marche{% endtrans %}</a>
  89.                   <a class="dropdown-item {{ app.request.get('_route') == 'job_board.index' ? 'active' : '' }}" href="{{path('job_board.index')}}"><i class="fa-solid fa-arrow-right"></i>{% trans %}Offres Alternances et Stages{% endtrans %}</a>
  90.                 </div>
  91.               </li>
  92.               <li class="nav-item dropdown mx-sm-1 mx-0">
  93.                 <a class="nav-link dropdown-toggle {{ (app.request.get('_route') == 'offer.index' 
  94.                                                       or app.request.get('_route') == 'integrer_etudiants' 
  95.                                                       or app.request.get('_route') == 'forum_entreprises' ) ? 'active' : '' }}" href="javascript:void(0)" data-toggle="dropdown">{% trans %}Entreprises{% endtrans %}</a>
  96.                 <div class="dropdown-menu">
  97.                   <a class="dropdown-item {{ app.request.get('_route') == 'integrer_etudiants' ? 'active' : '' }}" href="{{path('integrer_etudiants')}}"><i class="fa-solid fa-arrow-right"></i>{% trans %}Intégrer nos étudiants{% endtrans %}</a>
  98.                   <a class="dropdown-item {{ app.request.get('_route') == 'forum_entreprises' ? 'active' : '' }}" href="{{path('forum_entreprises')}}"><i class="fa-solid fa-arrow-right"></i>{% trans %}Forum des entreprises{% endtrans %}</a>
  99.                   <a class="dropdown-item {{ app.request.get('_route') == 'offer.index' ? 'active' : '' }}" href="{{path('offer.index')}}"><i class="fa-solid fa-arrow-right"></i>{% trans %}Soumettre une offre{% endtrans %}</a>
  100.                 </div>
  101.               </li>
  102.               <li class="nav-item mx-sm-1 mx-0">
  103.                 <a class="nav-link {{ app.request.get('_route') == 'news.index' ? 'active' : '' }}" href="{{path('news.index')}}">{% trans %}Actualités{% endtrans %}</a>
  104.               </li>
  105.               <li class="nav-item dropdown mx-sm-1 mx-0">
  106.                 <a class="nav-link dropdown-toggle {{ (app.request.get('_route') == 'open_day' 
  107.                                                       or app.request.get('_route') == 'open_day.inscription' 
  108.                                                       or app.request.get('_route') == 'contact_page' ) ? 'active' : '' }}" href="javascript:void(0)" data-toggle="dropdown">{% trans %}Nous rencontrer{% endtrans %}</a>
  109.                 <div class="dropdown-menu">
  110.                   <a class="dropdown-item {{ (app.request.get('_route') == 'open_day'
  111.                                             or app.request.get('_route') == 'open_day.inscription') ? 'active' : '' }}" href="{{path("open_day")}}"><i class="fa-solid fa-arrow-right"></i>{% trans %}Portes ouvertes / Événement{% endtrans %}</a>
  112.                   <a class="dropdown-item {{ app.request.get('_route') == 'contact_page' ? 'active' : '' }}" href="{{path("contact_page")}}"><i class="fa-solid fa-arrow-right"></i>{% trans %}Nous contacter{% endtrans %}</a>
  113.               </div>
  114.               {% if app.user is null %}
  115.                 <li class="nav-item mr-xl-3 ml-2 flex-grow-1">
  116.                   <a class="nav-btn text-center text-nowrap rounded text-none" href="{{ path('profile.step1') }}"><i class="fa-solid fa-door-open mr-2"></i>{% trans %}Admission{% endtrans %}</a>
  117.                 </li>
  118.                 <li class="nav-item mx-n2 mt-lg-0 mt-3">
  119.                   <a class="nav-link cursor text-center d-flex align-items-center justify-content-center h-100" data-toggle="modal" data-target="#signinModal"><span data-toggle="tooltip" data-placement="bottom" title="Se connecter"><i class="fa-solid fa-user font-20 mt-1"></i></span></a>
  120.                 </li>
  121.               {% else %}
  122.                 <li class="nav-item user-menu dropdown ml-2 flex-grow-1">
  123.                   <a 
  124.                     class="nav-btn dropdown-toggle d-flex align-items-center rounded justify-content-between rounded"
  125.                     href="javascript:void(0)" data-toggle="dropdown"
  126.                   >
  127.                     <span class="d-inline-flex align-items-center pl-2">
  128.                       <i class="fa-solid fa-user mx-2"></i>
  129.                       <span class="text-left d-block mr-1">
  130.                         <span class="d-block font-weight-normal">{% trans %}Bonjour{% endtrans %}, {{ app.user.firstName|formatName }} </span>
  131.                       </span>
  132.                     </span>
  133.                   </a>
  134.                   <div class="dropdown-menu">
  135.                     <a 
  136.                       class="dropdown-item px-2 d-flex align-items-center {{ app.request.get('_route') == 'profile.step1' ? 'active' : '' }}" 
  137.                       href="{{ path('profile.step1') }}"
  138.                     >
  139.                       <i class="fa-light fa-address-book mr-2"></i>
  140.                       {% trans %}Mon dossier de candidature{% endtrans %}
  141.                     </a>
  142.                     <a class="dropdown-item px-2 d-flex align-items-center {{ app.request.get('_route') == 'user.application' ? 'active' : '' }}" href="{{ path('user.application') }}"><i class="fa-light fa-file-lines mr-2"></i>{% trans %}Suivi du dossier{% endtrans %}</a>
  143.                     {% if profile is defined and profile.status.id == 1700 %}
  144.                       <a class="dropdown-item px-2 d-flex align-items-center {{ app.request.get('_route') == 'user.scolarite' ? 'active' : '' }}" href="{{ path('user.scolarite') }}">
  145.                         <svg width="12" height="13" viewBox="0 0 12 13" fill="#003" xmlns="http://www.w3.org/2000/svg">
  146.                         <path d="M8.41406 7.83594L6 10.25L3.58594 7.83594C2.74219 8.10156 2.0625 8.57812 1.54688 9.26562C1.03125 9.95312 0.765625 10.7578 0.75 11.6797C0.75 11.9141 0.828125 12.1094 0.984375 12.2656C1.14062 12.4219 1.33594 12.5 1.57031 12.5H10.4297C10.6641 12.5 10.8594 12.4219 11.0156 12.2656C11.1719 12.1094 11.25 11.9141 11.25 11.6797C11.2344 10.7578 10.9688 9.95312 10.4531 9.26562C9.9375 8.57812 9.25781 8.10156 8.41406 7.83594ZM10.4297 11.7266H1.57031C1.52344 11.7266 1.5 11.7031 1.5 11.6562C1.5 11.0156 1.67188 10.4297 2.01562 9.89844C2.35938 9.36719 2.82031 8.96094 3.39844 8.67969L5.46094 10.7891C5.61719 10.9297 5.79688 11 6 11C6.20312 11 6.38281 10.9297 6.53906 10.7891L8.60156 8.70312C9.17969 8.98438 9.64062 9.39062 9.98438 9.92188C10.3281 10.4375 10.5 11.0234 10.5 11.6797C10.5 11.7109 10.4766 11.7266 10.4297 11.7266ZM1.03125 2.375L1.5 2.46875V4.55469L0.773438 6.75781C0.726562 6.88281 0.742188 6.99219 0.820312 7.08594C0.898438 7.19531 1 7.25 1.125 7.25H2.625C2.75 7.25 2.85156 7.19531 2.92969 7.08594C2.99219 6.99219 3.00781 6.88281 2.97656 6.75781L2.25 4.55469V2.63281L3 2.82031V3.5C3 3.64062 3.0625 3.75 3.1875 3.82812L4.6875 4.69531C5.10938 4.91406 5.54688 5.02344 6 5.02344C6.45312 5.02344 6.89062 4.91406 7.3125 4.69531L8.8125 3.82812C8.9375 3.75 9 3.64062 9 3.5V2.82031L10.9688 2.375C11.1406 2.3125 11.2344 2.1875 11.25 2C11.2344 1.8125 11.1406 1.6875 10.9688 1.625L6.09375 0.5C6.04688 0.5 5.99219 0.5 5.92969 0.5L1.03125 1.625C0.859375 1.6875 0.765625 1.8125 0.75 2C0.765625 2.1875 0.859375 2.3125 1.03125 2.375ZM8.25 3.28906L6.9375 4.03906C6.3125 4.36719 5.6875 4.36719 5.0625 4.03906L3.75 3.28906V2.98438L5.90625 3.5C5.9375 3.5 5.96875 3.5 6 3.5C6.03125 3.5 6.0625 3.5 6.09375 3.5L8.25 2.98438V3.28906ZM6 1.25L9.21094 2L6 2.75L2.78906 2L6 1.25ZM1.875 5.82031L2.10938 6.5H1.64062L1.875 5.82031ZM8.625 4.22656C8.39062 4.24219 8.26562 4.36719 8.25 4.60156C8.23438 5.24219 8.01562 5.77344 7.59375 6.19531C7.17188 6.61719 6.64844 6.83594 6.02344 6.85156C5.39844 6.83594 4.86719 6.61719 4.42969 6.19531C3.99219 5.77344 3.76562 5.24219 3.75 4.60156C3.71875 4.36719 3.60156 4.24219 3.39844 4.22656C3.16406 4.25781 3.03125 4.38281 3 4.60156C3.01562 5.44531 3.30469 6.15625 3.86719 6.73438C4.42969 7.29688 5.13281 7.58594 5.97656 7.60156C6.82031 7.58594 7.52344 7.29688 8.08594 6.73438C8.64844 6.15625 8.9375 5.44531 8.95312 4.60156C8.96875 4.38281 8.85938 4.25781 8.625 4.22656Z" fill="#003"/>
  147.                         </svg>
  148.                         {% trans %}Scolarité{% endtrans %}</a>
  149.                     {% endif %}
  150.                     <a class="dropdown-item px-2 d-flex align-items-center {{ app.request.get('_route') == 'user.profile' ? 'active' : '' }}" href="{{ path('user.profile') }}"><i class="fal fa-gear mr-2"></i>{% trans %}Mon compte{% endtrans %}</a>
  151.                     <a class="dropdown-item px-2 d-flex align-items-center" href="{{ path('user.logout') }}"><i class="fa-light fa-right-from-bracket mr-2"></i>{% trans %}Déconnexion{% endtrans %}</a>
  152.                   </div>
  153.                 </li>
  154.               {% endif %}
  155.             </ul>
  156.             <ul class="navbar-nav nav-language">
  157.               {% if app.request.get('_route') %}
  158.               {% set new_locale = app.request.locale == 'fr' ? 'en' : 'fr' %}
  159.               {% set routeChange = app.request.get('_route') %}
  160.               {% set route_params = app.request.get('_route_params') %}
  161.               {% set routeChangeParams = route_params|merge(app.request.query.all) %}
  162.                 <li class="nav-item dropdown ml-2">
  163.                   <a class="nav-link dropdown-toggle d-flex align-items-center justify-content-center" href="javascript:void(0)" data-toggle="dropdown"><img class="mr-2" src="{{ asset('assets/images/icons/fr.png') }}" alt="{% trans %}Français{% endtrans %}"/>{% trans %}Français{% endtrans %}</a>
  164.                   <div class="dropdown-menu dropdown-menu-right">
  165.                     <a class="dropdown-item d-flex align-items-center justify-content-xl-start justify-content-center active" href="{{ path(routeChange, routeChangeParams|merge({ _locale: 'fr' })) }}"><img class="mr-2" src="{{ asset('assets/images/icons/fr.png') }}" alt="{% trans %}Français{% endtrans %}"/>{% trans %}Français{% endtrans %}</a>
  166.                     <a class="dropdown-item d-flex align-items-center justify-content-xl-start justify-content-center" href="{{ path('page_english') }}"><img class="mr-2" src="{{ asset('assets/images/icons/en.png') }}" alt="{% trans %}English{% endtrans %}"/>{% trans %}English{% endtrans %}</a>
  167.                     <a class="dropdown-item d-flex align-items-center justify-content-xl-start justify-content-center" href="{{ path('page_china') }}"><img class="mr-2" src="{{ asset('assets/images/icons/china.png') }}" alt="{% trans %}中国{% endtrans %}"/>{% trans %}中国{% endtrans %}</a>
  168.                   </div>
  169.                 </li>
  170.               {% endif %}
  171.             </ul>
  172.           </div>
  173.         </nav>
  174.       </div>
  175.     </div>
  176.   </div>
  177. </header>