{% if view.snippet is defined and view.snippet is not empty %}{% set loadedSnippet = sulu_snippet_load(view.snippet.uuid).content|replace_translate_variables %}{% set snippetTemplate = view.snippet.template %}{# ========================================================================CONFIGURATION DES SNIPPETS - Pattern-driven======================================================================== #}{# Variable par défaut pour éviter les erreurs #}{% set detailsPageObject = detailsPageObject is defined ? detailsPageObject : null %}{# Fonction pour convertir snake_case en camelCase #}{% set snakeToCamel = snippetTemplate|replace({'_': ' '})|title|replace({' ': ''}) %}{% set snakeToCamel = (snakeToCamel|slice(0, 1)|lower) ~ (snakeToCamel|slice(1)) %}{% set globalSnippetId = 'snippet-body-' ~ random() %}{# Configuration par défaut (pattern) #}{% set defaultConfig = {'path': '/_snippets/' ~ snippetTemplate ~ '.html.twig','context': {(snakeToCamel): loadedSnippet,'showSectionSettings': content.showSectionSettings|default(true),'sectionSettings': content|default({}),'globalSnippetId': globalSnippetId}} %}{# ========================================================================EXCEPTIONS - Seulement les cas qui ne suivent pas le pattern======================================================================== #}{% set snippetConfig = {'general_card': {'path': loadedSnippet.model is defined? '/pages/_includes/cards/general_cards/general_card_' ~ loadedSnippet.model ~ '.html.twig': '/pages/_includes/cards/general_cards/general_card_default.html.twig','context': {'card': loadedSnippet},'wrapper': 'GeneralCards'},'list_card': {'path': loadedSnippet.model is defined? '/pages/_includes/cards/list_cards/list_card_' ~ loadedSnippet.model ~ '.html.twig': '/pages/_includes/cards/list_cards/list_card_default.html.twig','context': {'card': loadedSnippet},'wrapper': loadedSnippet.model is defined ? 'ListCards ' ~ loadedSnippet.model : 'ListCards','container': true},'product_list_card': {'path': '/pages/_includes/cards/product_list_cards/product_list_card_standard.html.twig','context': {'list': loadedSnippet}},'legal_texts': {'path': 'pages/_snippets/_legal_texts.html.twig','context': {'legalText': loadedSnippet}},'category_legal_texts': {'path': 'pages/_snippets/_category_legal_text.html.twig','context': {'detailsPageObject': detailsPageObject, 'category': loadedSnippet},'condition': detailsPageObject is not null and detailsPageObject['@type'] is defined and detailsPageObject['@type'] is same as('Company')},'banner': {'path': 'pages/_snippets/_banner.html.twig','context': {'bannerContent': loadedSnippet, 'object': detailsPageObject is defined ? detailsPageObject : {}}},'text_and_image': {'path': 'pages/_snippets/_text_and_image.html.twig','context': {'textAndImageContent': loadedSnippet}},'text_and_image_widerow': {'path': 'pages/_snippets/_text_and_image_widerow.html.twig','context': {'textAndImageContent': loadedSnippet}},'content_card': {'path': '/pages/_includes/cards/content_cards.html.twig','context': {'snippet': loadedSnippet}},'benefits_company': {'path': 'pages/_includes/company/_benefits_company.html.twig','context': {'benefits': loadedSnippet}},'banner_seo': {'context': {'bannerSEO': loadedSnippet}},'destinations': {'context': {'destinationsSnippet': loadedSnippet}},'pictogram_and_text_and_link_assembly': {'context': {'pictogramAndTextAndLinkAssembly': loadedSnippet}},'compagnies_partenaires': {'context': {'partenaires': loadedSnippet}}} %}{# ========================================================================RENDU DU SNIPPET - Pattern par défaut + exceptions======================================================================== #}{# Utiliser la config exceptionnelle ou le pattern par défaut #}{% set config = snippetConfig[snippetTemplate] is defined? defaultConfig|merge(snippetConfig[snippetTemplate]): defaultConfig %}{% set shouldRender = config.condition is not defined or config.condition %}{% if shouldRender %}{% if config.wrapper is defined %}<section id="{{ globalSnippetId }}" class="snippet-body {{ config.wrapper }}" style="margin-top: {{ marginTopBlock|default('0px') }}">{% if content.showSectionSettings|default(true) %}{% include '_snippets/sections/general_section_settings.html.twig' with {'content': content,'id': globalSnippetId} %}{% endif %}{% if config.container is defined and config.container %}<div class="container">{% include config.path with config.context %}</div>{% else %}{% include config.path with config.context %}{% endif %}</section>{% else %}<section id="{{ globalSnippetId }}" class="snippet-body" style="margin-top: {{ marginTopBlock|default('0px') }}">{% if content.showSectionSettings|default(true) %}{% include '_snippets/sections/general_section_settings.html.twig' with {'content': content,'id': globalSnippetId} %}{% endif %}{% include config.path with config.context %}</section>{% endif %}{% endif %}{% endif %}