Question

Comment puis-je inclure une page de magnolia dans un script de modèle de magnolia?

Dans le script de modèle, je peux accéder aux données d'une page spécifique, mais comment puis-je charger cette page dans le modèle?

Disons que j'ai 2 pages chacune avec son propre modèle. La page 1 contient dans son arborescence la page 2. Je souhaite l'inclure dans le script de modèle de la page 1, page 2, mais ne fonctionne pas.

Merci beaucoup :)

< MISE À JOUR

Ce que je souhaite en fait, c'est inclure mon en-tête dans toutes les pages de mon projet. Mais je ne veux pas le mettre sous forme de paragraphe, car si jamais je veux changer mon en-tête, je devrai éditer toutes les pages du projet.

Donc, ce que j'essaye de faire et je ne sais pas si c'est la bonne approche, c'est de créer un modèle de page pour l'en-tête. Ce modèle n'inclura aucun, ni css, c'est juste le code de l'en-tête. La prochaine chose que je veux faire est de créer une page en magnolia avec ce modèle comme en-tête. Ensuite, j'aimerais inclure la page que je viens de créer dans mon modèle de modèle principal pour le projet, mais je ne sais pas comment faire cela.

Je suis nouveau sur Magnolia cms et j'ai d'abord essayé de créer mon site de démonstration en utilisant stk. Le seul problème était que je ne pouvais pas utiliser jsp comme langage de script, ou du moins je ne pouvais pas trouver de solution sur Internet. Je ne connais pas vraiment le freemarker, mais ce n'est pas vraiment un gros problème. Je suis vraiment réticent à utiliser freemarker car peut-être qu'à l'avenir, dans un projet plus complexe, je pourrais avoir besoin de certaines fonctionnalités que freemarker ne prend pas en charge, mais jsp le fait. J'aimerais créer mon site en utilisant jsp si c'est possible avec le magnolia.

Je suis désolé pour cette longue mise à jour, mais si quelqu'un a des suggestions sur ce que pourrait être une meilleure pratique et si je pouvais mettre en œuvre ce que je veux dans jsp, je serais vraiment reconnaissant.

Merci encore pour votre temps :)

Était-ce utile?

La solution

Si vous utilisez le STK, consultez ce guide sur le content- réutiliser .

Si ce n'est pas le cas, jetez un œil au cms tag-lib , en particulier les balises cms: loadPage et cms: setNode avec lesquelles vous pouvez obtenir un contenu et le définir comme variable JSP / JSTL, puis le rendre en utilisant cms: includeTemplate.

Un scénario courant consiste à «hériter» du contenu de la page parent, l'en-tête en est un excellent exemple. Ce que vous faites, c'est pour une zone que vous montez dans la hiérarchie du contenu et que vous effectuez le rendu de tout à partir des pages parent dans leur zone avec le même nom. De cette façon, l'en-tête que vous avez seulement ajouté à la première page est inclus dans tous ses enfants.

Une autre option est d'avoir une page spéciale qui contient simplement des éléments à inclure dans d'autres pages. Comme l'en-tête, le pied de page et les bannières qui devraient figurer dans le volet latéral de certaines pages.

Autres conseils

L'inclusion d'une page dans une autre page ne fonctionne pas vraiment. La page 2 a déjà ses propres balises , ses propres balises

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top