[Résolu] Inclure un gabarit dans un autre
Posted: Fri Jun 18, 2010 2:45 pm
Bonjour,
Je commence à utiliser CMSMS et comme tous les débutants je tombe un peu dans tous les pièges. Mais je n'ai pas réussi à trouver la réponse à ma question dans les forums, même en anglais (peut-être faute de savoir bien formuler la question).
Voilà mon problème, j'ai un site avec quelques gabarits qui ne varient que par le fait que certains ont une organisation du contenu en colonnes et d'autre dans toute la largeur de la page.
Je voulais donc avoir quelque chose du genre header et footer à rajouter en haut et en bas de chaque gabarit nouvellement créé de manière à n'avoir que le moins possible de redondance de code smarty/HTML.
J'ai trouvé les contenus globaux et j'ai donc saisi mon code html et smarty dans deux contenus globaux header et footer. Je les appelle dans mes gabarits. Cela fonctionne à condition de ne pas éditer les contenus avec un éditeur WYSIWYG qui "nettoie" le html sauvagement. Il m'a donc fallu désactiver l'édition WYSIWYG pour ces contenus.
Comme je suis seul à travailler sur ce CMS ce n'est pas trop grave, je peux faire attention à ce que je fais. Mais dans le cas de séparation des rôles (designer et rédacteur) ce n'est pas satisfaisant car les contenus globaux, comme leur nom l'indique, sont dans le menu contenu et pas disposition et peuvent être changés par les rédacteurs et non les designer. Il suffit qu'un rédacteur regarde les fichiers avec l'éditeur WYSIWYG et enregistre pour que la mise en page soit cassée, et qu'un designer n'aie pas les droits d'édition pour ne pas pouvoir y toucher.
Je n'ai pas vu de balise du genre {template} où l'on pourrait saisir un truc de style { template name="header"}. J'ai bien vu un {get_template_vars} que je ne sais pas trop comment utiliser mais dont je doute qu'il réponde à mon besoin.
Quelle est la technique propre pour inclure des entêtes et pieds de page dans des gabarits ? Il serait bien lourd de se retrouver comme en html traditionnel à devoir répercuter à la main une modification d'entête sur tous les gabarits d'un site un par un.
Merci d'avance à ceux qui pourront me mettre sur la voie d'une solution adéquate.
Je commence à utiliser CMSMS et comme tous les débutants je tombe un peu dans tous les pièges. Mais je n'ai pas réussi à trouver la réponse à ma question dans les forums, même en anglais (peut-être faute de savoir bien formuler la question).
Voilà mon problème, j'ai un site avec quelques gabarits qui ne varient que par le fait que certains ont une organisation du contenu en colonnes et d'autre dans toute la largeur de la page.
Je voulais donc avoir quelque chose du genre header et footer à rajouter en haut et en bas de chaque gabarit nouvellement créé de manière à n'avoir que le moins possible de redondance de code smarty/HTML.
J'ai trouvé les contenus globaux et j'ai donc saisi mon code html et smarty dans deux contenus globaux header et footer. Je les appelle dans mes gabarits. Cela fonctionne à condition de ne pas éditer les contenus avec un éditeur WYSIWYG qui "nettoie" le html sauvagement. Il m'a donc fallu désactiver l'édition WYSIWYG pour ces contenus.
Comme je suis seul à travailler sur ce CMS ce n'est pas trop grave, je peux faire attention à ce que je fais. Mais dans le cas de séparation des rôles (designer et rédacteur) ce n'est pas satisfaisant car les contenus globaux, comme leur nom l'indique, sont dans le menu contenu et pas disposition et peuvent être changés par les rédacteurs et non les designer. Il suffit qu'un rédacteur regarde les fichiers avec l'éditeur WYSIWYG et enregistre pour que la mise en page soit cassée, et qu'un designer n'aie pas les droits d'édition pour ne pas pouvoir y toucher.
Je n'ai pas vu de balise du genre {template} où l'on pourrait saisir un truc de style { template name="header"}. J'ai bien vu un {get_template_vars} que je ne sais pas trop comment utiliser mais dont je doute qu'il réponde à mon besoin.
Quelle est la technique propre pour inclure des entêtes et pieds de page dans des gabarits ? Il serait bien lourd de se retrouver comme en html traditionnel à devoir répercuter à la main une modification d'entête sur tous les gabarits d'un site un par un.
Merci d'avance à ceux qui pourront me mettre sur la voie d'une solution adéquate.