[Résolu] Récupération d'un {content_image} depuis un gabarit de menu - Version imprimable +- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr) +-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html) +--- Forum : Général (https://forum.cmsmadesimple.fr/forum-10.html) +--- Sujet : [Résolu] Récupération d'un {content_image} depuis un gabarit de menu (/thread-2587.html) |
[Résolu] Récupération d'un {content_image} depuis un gabarit de menu - Tellurian - 13/02/2013 Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~ Bonjour, Comme indiqué dans le sujet, j’aimerais savoir si il est possible de récupérer la valeur d'un {content_image} commun à tout les gabarits du site depuis un gabarit de menu. Le site utilise déjà la vignette/image de la page en guise d'image pour le bandeau (Je sais pertinemment que c'est une erreur de choix du précédent développeur qui aurait dû utiliser un content_image justement mais il serait à présent fort compliqué de devoir tout modifier). L'image du {content_image} en question doit servir pour l'affichage d'une vignette dans le sous menu justement. Sans avoir regardé le code qui concerne le module de gestion des gabarits des menu, j'imagine qu'il récupère par défaut un set d'informations très limité pour le rendu de ses gabarits (Ce serait catastrophique si le PHP chargé en mémoire l’intégralité du contenu de chaque page lors du rendu du gabarit du menu !). Un simple {$node|print_r} dans la boucle l'indique clairement : Code : [== Indéfini ==] Existe-il un moyen de récupérer cette valeur en utilisant les fonctionnalités interne du module 'Menu' ou-bien dois-je coder cette fonctionnalité dans un nouveau plugin/user-tag (si c'est possible) ? Merci d'avance pour vos retours ! [Résolu] Récupération d'un {content_image} depuis un gabarit de menu - Jean le Chauve - 13/02/2013 Et en écrivant simplement {content_image} dans le gabarit de menu à l'endroit où tu veux que la valeur apparaisse, ça ne marche pas ? Je viens de tester avec {page_image} et ça s'affiche. Code : [== Indéfini ==] [Résolu] Récupération d'un {content_image} depuis un gabarit de menu - jissey - 13/02/2013 en fait, je crois qu'il veut le page-image de chaque page, donc dans la boucle. J'ai cherché et pas trouvé...une petite UDT s'impose, ou alors passer par le champ extra1 et faire saisir le nom de l'image...pas top [Résolu] Récupération d'un {content_image} depuis un gabarit de menu - Jean le Chauve - 13/02/2013 Salut Jissey Citation :Le site utilise déjà la vignette/image de la page en guise d'image pour le bandeauPas dans la boucle, sinon elle va s'afficher à tous les liens du menu. Pour moi, {content_image} devrait fonctionner pour afficher la valeur. Je n'ai pas très bien compris la demande, que veux-tu faire exactement : un exemple serait le bienvenu. [Résolu] Récupération d'un {content_image} depuis un gabarit de menu - Tellurian - 13/02/2013 Edit : Merci pour vos réponses, je composé ce message sans avoir vu vos retours. Non, le "scope de définition" de cette balise smarty est limité au rendu de la page elle même, dans le système de rendu des gabarits de pages uniquement et non dans le rendu des menus. La présence de cette donnée est aussi contextuelle au gabarit de page. Je ne sais pas si je suis assez claire, un exemple sera plus parlant Partons du principe que je souhaite disposer d'une image dans mon gabarit de page "normal" : Code : [== PHTML / Smarty ==] Je souhaite ensuite utiliser l'image que l'administrateur de la page aura choisi dans la boucle de rendu du menu. Pour se faire je dois accéder aux informations suivante sur le $node en cours de la boucle dans le gabarit de menu : - Le nom du gabarit utilisé par la page (Afin de conditionner l'appel de cette image qui ne sera pas forcement présente dans les autres gabarits de pages !) - La valeur du {content_image block="imagemenu"} Dans mon de menu j'aurais quelque chose de ce style : Code : [== HTML ==] [Résolu] Récupération d'un {content_image} depuis un gabarit de menu - Jean le Chauve - 13/02/2013 Voilà qui est bien expliqué Tu peux le faire sans trop de problème avec CGSimpleSmarty. {$cgsimple->get_page_content($node->alias,'imagemenu','nomVariableAassigner')}{eval var=$nomVariableAassigner} Voir la doc du module. [Résolu] Récupération d'un {content_image} depuis un gabarit de menu - Jean le Chauve - 13/02/2013 Si tu n'as pas cette classe (à cause de ta version), voici son code : Code : [== Indéfini ==] [Résolu] Récupération d'un {content_image} depuis un gabarit de menu - Tellurian - 13/02/2013 Merci ! Je vais tester çà de suite [Résolu] Récupération d'un {content_image} depuis un gabarit de menu - Tellurian - 13/02/2013 Merci encore ! Ca fonctionne ! Je me suis basé sur la version 1.4.4 de CGSimpleSMarty, je vais me pencher d'avantage sur ce module afin de conditionner le gabarit également pour que le code reste propre (Même si la variable ne renvoi rien si le block n'existe pas, sans provoquer d'erreur) [Résolu] Récupération d'un {content_image} depuis un gabarit de menu - Jean le Chauve - 13/02/2013 Amuse-toi bien et n'hésite pas à revenir pour nous poster tes astuces [Résolu] Récupération d'un {content_image} depuis un gabarit de menu - Tellurian - 14/02/2013 Il me reste maintenant à trouver une technique pour récupérer l'alias de la page pointée pour les nœuds de type 'section' (Ou les redirections internes). J'ajouterais l'explication si je trouve. |