templates/pages/akaru/restaurant.html.twig line 1

Open in your IDE?
  1. {#
  2.     page: restaurant
  3. #}
  4. {% extends "layouts/base.html.twig" %}
  5. {% set jsPageId = 'restaurant' %}
  6. {% set pageClass = 'Restaurant' %}
  7. {% block content %}
  8. {# Header #}
  9. {% include "component/header.html.twig" with {
  10.       props: {
  11.         account:{
  12.           link: path("app_signin", { '_locale': app.request.getLocale() }),
  13.           text: "myaccount.title"|trans
  14.         }
  15.       }
  16.     } %}
  17. {# Hero content #}
  18. {% include "component/hero_content.html.twig" with {
  19.     props: {
  20.       heading: {
  21.         title: frontservice.getHeaderFields(page, 'header_titre', lang)|nl2br,
  22.         titleAnnex: frontservice.getHeaderFields(page, 'header_sur_titre', lang)|nl2br
  23.       },
  24.       breadcrumb: frontservice.getBreadcrumb(page, lang),
  25.       background: frontservice.getMediaPublicUrl(page.headerImage, 'reference', frontservice.getHeaderFields(page, 'alt_header_img', lang)),
  26.       video:(frontservice.getHeaderVideo(page)) ? {
  27.         type:'video/mp4',
  28.         src: asset(frontservice.getHeaderVideo(page))
  29.       } : null
  30.     }
  31.   } only %}
  32.   {# Filter Bar #}
  33.   {# {% include "component/header/filter_bar.html.twig" with {
  34.     props:{
  35.       bookingtitle:"booking.title"|trans,
  36.     }
  37.   } only %} #}
  38. {% if composants %}
  39.   {% for composant in composants %}
  40.   {% if frontservice.getContentField(composant, 'masquer', lang) != 1 %}
  41.     {% set layout_sens = 1 %}
  42.     {% if composant.sensAffichage == 'gauche' %}
  43.         {% set layout_sens = 1 %}
  44.     {% elseif composant.sensAffichage == 'droite'  %}
  45.         {% set layout_sens = 2 %}    
  46.     {% endif %} 
  47.     {% set principal_image = frontservice.getMediaPublicUrl(composant.imagePrincipal, 'big', frontservice.getContentField(composant, 'alt_p', lang)) %}
  48.     {% set description = frontservice.getContentField(composant, 'description', lang) %}
  49.     {% set titre_principal_rich = frontservice.getContentField(composant, 'titre_principal_rich', lang)|replace({'<p>': '', '</p>': ''}) %}
  50.     {% set titre_principal = frontservice.getContentField(composant, 'titre_principal', lang) %}
  51.     {% set surtitre = frontservice.getContentField(composant, 'surtitre', lang) %}
  52.     {% set description_secondaire = frontservice.getContentField(composant, 'description_secondaire', lang) %}
  53.     {% set intro_description = frontservice.getContentField(composant, 'intro_description', lang)|nl2br %}
  54.     {% set label_lien_principal = frontservice.getContentField(composant, 'label_lien_principal', lang) %}
  55.     {% set quote = frontservice.getContentField(composant, 'quote', lang) %}
  56.     {% if quote %}
  57.       {% set quote = '“' ~ frontservice.getContentField(composant, 'quote', lang) ~ '”' %}
  58.     {% endif %}
  59.     {% set horaire = frontservice.getContentField(composant, 'horaire', lang) %}
  60.     {% set information = frontservice.getContentField(composant, 'information', lang) %}
  61.     {% set url = '#' %}
  62.     {% if composant.urlLienPrincipalPage %}
  63.       {% set url = frontservice.getUrlPage(composant.urlLienPrincipalPage, lang) %}
  64.     {% else %}
  65.       {% set url = frontservice.getContentField(composant, 'url_lien_principal', lang) %}
  66.     {% endif %}
  67.     {# Introduction #}
  68.     {% if composant.cmsComposant.nomTechniqueComposant == "component/introduction.html.twig" %}
  69.       {% include "component/introduction.html.twig" with {
  70.         props: {
  71.           text: {
  72.             first: description
  73.           }
  74.         }
  75.       } %}
  76.     {% endif %}
  77.     {# Text image introduction #}
  78.     {% if composant.cmsComposant.nomTechniqueComposant == "component/text_image_introduction.html.twig" %}
  79.       {% include "component/text_image_introduction.html.twig" with {
  80.         props: {
  81.           layout: layout_sens,
  82.           text: '<p class="intro">'~ intro_description ~'</p>'~ description,
  83.           quote: '<p class="quote">'~ quote ~'</p><p class="author">'~ description_secondaire ~'</p>',
  84.           image: principal_image
  85.         }
  86.       } %}
  87.     {% endif %}
  88.     {# Text image #}
  89.     {% if composant.cmsComposant.nomTechniqueComposant == "component/text_image.html.twig" %}
  90.       {% include "component/text_image.html.twig" with {
  91.         props: {
  92.           layout: layout_sens,
  93.           heading: {
  94.             title: titre_principal_rich,
  95.             titleAnnex: surtitre
  96.           },
  97.           text: '<p class="intro">'~ intro_description ~'</p>'~ description,
  98.           quote: '<p class="quote">'~ quote ~'</p>',
  99.           image: principal_image,
  100.           links: null
  101.         }
  102.       } %}
  103.     {% endif %}
  104.     {# Menu #}
  105.     {% if composant.cmsComposant.nomTechniqueComposant == "component/menu.html.twig" %}
  106.         {% set menu_items = composant.getCmsPageBlockComposantItems() %}
  107.         {% set items_elements = [] %}
  108.         {% if menu_items %}
  109.               {% for item in menu_items %} 
  110.               {% set pdf = {} %}
  111.               {% set lang_field = (lang == 'fr') ? item.fichierUploadPrincipal : item.fichierUploadPrincipalEn %}
  112.               {% set file = frontservice.generatePublicUrl(lang_field, 'reference') %}
  113.               {% if file and frontservice.getContentItemField(item, 'label_lien_principal', lang) %}
  114.                 {% set pdf = pdf|merge({
  115.                     to: file,
  116.                     text: frontservice.getContentItemField(item, 'label_lien_principal', lang),
  117.                     blank: true
  118.                 }) %}
  119.               {% endif %}
  120.                 {% set image =  frontservice.getMediaPublicUrl(item.imagePrincipal, 'big', frontservice.getContentItemField(item, 'alt_p', lang)) %}
  121.                 {% set items_elements = items_elements|merge([{
  122.                     title: frontservice.getContentItemField(item, 'titre_principal_rich', lang),
  123.                     image: image,
  124.                     menuItems: [{
  125.                       title: null,
  126.                       text: frontservice.getContentItemField(item, 'description', lang),
  127.                     }],
  128.                     link: pdf
  129.                         }]) %}
  130.               {% endfor %} 
  131.         {% endif %}
  132.       {% include "component/menu.html.twig" with {
  133.         props: {
  134.           heading: {
  135.             title: titre_principal_rich,
  136.             titleAnnex: surtitre
  137.           },
  138.           items: items_elements,
  139.           message: information
  140.         }
  141.       } %}
  142.     {% endif %}
  143.     {# Pdf links list #}
  144.     {% if composant.cmsComposant.nomTechniqueComposant == "component/pdf_links_list.html.twig" %}
  145.         {% set pdf_items = composant.getCmsPageBlockComposantItems() %}
  146.         {% set items_elements = [] %}
  147.         {% if pdf_items %}
  148.               {% for item in pdf_items %} 
  149.                 {% set pdf = {} %}
  150.                 {% set lang_field = (lang == 'fr') ? item.fichierUploadPrincipal : item.fichierUploadPrincipalEn %}
  151.                 {% set file = frontservice.generatePublicUrl(lang_field, 'reference') %}
  152.                 {% if file and frontservice.getContentItemField(item, 'label_lien_principal', lang) %}
  153.                   {% set pdf = pdf|merge({
  154.                       to: file,
  155.                       text: frontservice.getContentItemField(item, 'label_lien_principal', lang),
  156.                       blank: true
  157.                   }) %}
  158.                 {% endif %}
  159.                 {% set items_elements = items_elements|merge([{
  160.                     title: frontservice.getContentItemField(item, 'titre_principal', lang)|replace({"\n": "<br />"})|raw,
  161.                     icon: frontservice.getSinglePicto(item),
  162.                     link: pdf
  163.                 }]) %}
  164.               {% endfor %} 
  165.         {% endif %}
  166.       {% include "component/pdf_links_list.html.twig" with {
  167.         props: {
  168.           items: items_elements
  169.         }
  170.       } %}
  171.     {% endif %}
  172.     {# Restaurant time informations #}
  173.     {% if composant.cmsComposant.nomTechniqueComposant == "component/restaurant_time_informations.html.twig" %}
  174.     {% set rest_link = [] %}
  175.     {% set lang_field = (lang == 'fr') ? composant.fichierUploadPrincipal : composant.fichierUploadPrincipalEn %}
  176.     {% set pdf = frontservice.generatePublicUrl(lang_field, 'reference') %}
  177.       {% if label_lien_principal and pdf %}
  178.         {% set rest_link = rest_link|merge({
  179.             text: label_lien_principal,
  180.             to: pdf,
  181.             blank: true
  182.         }) %}
  183.       {% elseif label_lien_principal and url %}
  184.         {% set rest_link = rest_link|merge({
  185.             text: label_lien_principal,
  186.             to: url
  187.         }) %}
  188.       {% endif %}
  189.       {% include "component/restaurant_time_informations.html.twig" with {
  190.         props: {
  191.           schedule: titre_principal|replace({"\n": "<br />"})|raw,
  192.           openingHours: horaire,
  193.           bookingImage: 'lafourchette',
  194.           link: rest_link
  195.         }
  196.       } %}
  197.     {% endif %}
  198.   {% endif %}
  199.   {% endfor %}
  200. {% endif %} 
  201.     {# Footer #}
  202.     {% include "component/footer.html.twig" %}
  203. {% endblock %}