{# Pied de page « Vitrine et Contact » — logo, coordonnées, mur de photos. Pensé pour les activités qui se visitent : gîte, chambre d'hôtes, restaurant, salle, camping. Le visiteur qui arrive en bas de page cherche deux choses — où c'est, et à quoi ça ressemble — et les trouve sans remonter. Aucune de ces données n'existe sur l'entité Site : tout vient de la configuration du preset, ce qui rend le bloc réutilisable tel quel par n'importe quel site et modifiable sans toucher au gabarit. Configuration (toutes les clés sont facultatives) : showAbout bool Colonne de gauche (logo, description, lien). Défaut : true aboutText string Texte de présentation. Défaut : la description du site aboutLink string Cible du lien « en savoir plus » aboutLinkText string Libellé du lien. Défaut : « En savoir plus » contactTitle string Titre de la colonne coordonnées. Défaut : « Localisation » contact list Lignes { icon, text, href } — href facultatif photosTitle string Titre du mur de photos. Défaut : « Photos » photos list URL d'images ; colonne masquée si la liste est vide showSocial bool Réseaux sociaux. Défaut : true socialPosition string Colonne qui les porte : « about » (défaut) ou « contact ». La colonne de présentation étant la plus longue des trois — logo, texte, lien —, les déplacer d'un cran rééquilibre les hauteurs. #} {% set showAbout = config.showAbout ?? true %} {% set contact = config.contact ?? [] %} {% set photos = config.photos ?? [] %} {# Le réglage ne peut désigner qu'une colonne réellement affichée : sans lignes de coordonnées, la colonne « contact » n'existe pas et les réseaux disparaîtraient sans bruit. Même repli quand la présentation est masquée. #} {% set socialDemande = (config.showSocial ?? true) and site.hasOneSocialLink() %} {% set socialPosition = (config.socialPosition|default('about')) == 'contact' and contact is not empty ? 'contact' : (showAbout ? 'about' : (contact is not empty ? 'contact' : 'none')) %}