Vous devez être connecté pour utiliser le forum. Vous pouvez le faire ici.
|
Auteur
|
Message
|
|
Bertrand DANES
|
Lundi 27 Novembre 2006 9:54:34 am
Comment afficher autre chose qu'un objet dans une page ?
Je cherche à afficher dans eZ publish des pages qui ne correspondent pas à un objet. Par exemple, le plan du site ou comme ce qui existe déjà comme content/draft ou content/new pour afficher les nouveautés du site.
- le plus logique est sans doute de créer un module, mais je trouve ça un peu compliqué pour ça. De plus, ça ne permet pas de le mettre dans l'arborescence du site...c'est à dire l'assigner à un noeud. enfin il me semble.
- pour l'instant, le solution, pas très élégante à mon goût, est de créer un objet d'une classe quelconque et de faire un override du template pour afficher ce que je souhaite.
- un solution un peu plus élégante, dérivée de la précédente, serait de créer un nouvelle classe (encore une) spécifiquement pour ce genre de chose avec à chaque fois une surcharge (encore une) du template pour afficher ce qu'on veut;
- et une solution à la quelle je viens de penser en formulant ma question (d'où l'intérêt de poser des questions même si elles ne suscitent pas de réactions !) : ne peut-on pas créer une nouvelle classe dont un attribut permet de spécifier un fichier squelette avec un include de ce fichier dans le squelette. ça doit marcher.
Qu'en pensez-vous ? Quelle est la bonne méthode ? Quelles sont les autres possibilités ?
Merci d'avance pour vos réponses
|
|
Damien POBEL
|
Mardi 28 Novembre 2006 12:31:17 am
Re: Comment afficher autre chose qu'un objet dans une page ?
Salut Bertrand,
Je cherche à afficher dans eZ publish des pages qui ne correspondent pas à un objet. Par exemple, le plan du site ou comme ce qui existe déjà comme content/draft ou content/new pour afficher les nouveautés du site.
Pour le plan tu peux utiliser l'adresse dédiée dans eZ publish /content/view/sitemap
Il s'agit en fait d'utiliser la vue sitemap plutôt que full sur le noeud racine du site (2 par défaut) mais tu peux utiliser /content/view/sitemap/35 pour que la variable node contienne le noeud d'id 35.
Mais à la place de sitemap tu peux mettre ce que tu veux par exemple /content/view/tralala du moment qu'un fichier /design/ton_design/template/node/view/tralala.tpl existe ou qu'un override pour cette vue soit défini.
Après si tu n'aimes pas les adresses en content/view/truc tu peux toujours faire un alias.
- le plus logique est sans doute de créer un module, mais je trouve ça un peu compliqué pour ça. De plus, ça ne permet pas de le mettre dans l'arborescence du site...c'est à dire l'assigner à un noeud. enfin il me semble.
si tu crées un module tu peux faire ce que tu veux à l'intérieur, mais c'est un peu long et fastidieux pour ce que tu veux faire.
- pour l'instant, le solution, pas très élégante à mon goût, est de créer un objet d'une classe quelconque et de faire un override du template pour afficher ce que je souhaite.
C'est une solution comme une autre, souvent utilisé justement pour le plan par ceux qui n'aiment pas (ou connaissent pas) le /content/view/sitemap ou qui veulent laisser les utilisateurs paramètrer leur plan dans le backoffice
- un solution un peu plus élégante, dérivée de la précédente, serait de créer un nouvelle classe (encore une) spécifiquement pour ce genre de chose avec à chaque fois une surcharge (encore une) du template pour afficher ce qu'on veut;
C'est plus ou moins la même chose que précédemment.
- et une solution à la quelle je viens de penser en formulant ma question (d'où l'intérêt de poser des questions même si elles ne suscitent pas de réactions !) : ne peut-on pas créer une nouvelle classe dont un attribut permet de spécifier un fichier squelette avec un include de ce fichier dans le squelette. ça doit marcher.
Tu dois pouvoir créer un champs qui contient le nom d'un template inclu dans l'override mais finalement ça n'apporte pas grand chose de plus que la définition d'un override spécifique.
Qu'en pensez-vous ? Quelle est la bonne méthode ? Quelles sont les autres possibilités ?
Il n'y a pas forcément de bonne méthode. une autre méthode proche de celles que tu cites est de créer un alias vers un noeud existant par exemple /mon_truc_specifique vers /content/view/full/2 puis de définir un override à partir de l'url_alias pour appliquer un template spécifique dans le noeud 2 est vu avec l'url alias /mon_truc_specifique
NOTE AUX MODÉRATEURS DU SITE : lorsqu'on fait modifier sur un de ces messages, le textearea "message" est vide et puis ce serait bien qu'il fasse plus de 10 lignes de hauteurs...
--
Damien POBEL
Publications autour d'eZ publish http://pwet.fr/blog/tags/ez_publish
eZVim, plugin vim pour eZ Publish : http://projects.ez.no/ezvim
|
|
Bertrand DANES
|
Mardi 28 Novembre 2006 9:39:43 am
Re: Comment afficher autre chose qu'un objet dans une page ?
merci beaucoup pour cette réponse super précise et complète...comme toujours.
je ne connaissais effectivement pas ces possibilités et je comprends enfin à quoi peuvent servir les alias.
|
|
Bertrand DANES
|
Mardi 28 Novembre 2006 11:52:11 am
Re: Comment afficher autre chose qu'un objet dans une page ?
après essai, la création d'un template design/ton_design/template/node/view/tralala.tpl qui s'affiche avec content/view/tralala correspond exactement à ma demande et que je ne voyais pas comment faire. Encore merci
|
|
danielle Malady
|
Mardi 29 Juillet 2008 12:49:46 pm
Re: Comment afficher autre chose qu'un objet dans une page ?
bonjour damien,
j'ai pas compris ce fonctionnement, est-ce qu'il permet de créer un article solitaire, qui n'est relié à rien et qui ne s'affiche pas dans mon menu, j'ai par contre besoin de l'insérer dans ma page d'accueil.
merci
|
|