CMS Automne http://www.automne-cms.org/forum/ |
|
Rangée pour le module Actualités http://www.automne-cms.org/forum/viewtopic.php?f=2&t=729 |
Page 1 sur 1 |
Auteur: | Yves [ Lun Nov 15, 2010 4:52 pm ] |
Sujet du message: | Rangée pour le module Actualités |
Bonjour, Je désire créer une rubrique "Actualités" sur toutes les pages du site. J'ai utilisé le module "Actualités" pour créer une actu. Je n'ai pas trouvé comment insérer le titre (ou un autre élément) de l'actu sur mon modèle. Je n'ai pas, dans les rangées proposées, la rangée "Modules". Pouvez-vous m'aider ? Merci d'avance, Yves PIQUET Serveur dédié : Ubuntu server 10.10 Automne : version 4.0.2 |
Auteur: | Frank [ Lun Nov 15, 2010 5:59 pm ] |
Sujet du message: | Re: Module Polymod Actualités |
Bonjour Yves, Que devra afficher cette rangées actualités : La même chose sur toutes les pages ? Une actualité différente sur chaque page ? Quels champs spécifiques voulez-vous afficher ? A titre d'exemple j'ai commenté le code d'une rangée qui affiche les dernières actualités et qui prend en paramètre le nombre d'actualités à afficher ainsi que la catégorie d'actualités à afficher. En espérant que ça réponde à votre question. Code : <row>
<!-- Accès au module actualités en langue française --> <block module="pnews" id="actus" language="fr"> <!-- Objet du module sur lequel va porter la rechercher, nom de la recherche --> <atm-search what="{Actualites}" name="actualites"> <!-- Paramètre de filtre facultatif qui permet de restreindre l'affichage à une catégorie--> <atm-search-param search="actualites" type="{Actualites:Categorie:fieldID}" value="block" mandatory="false" /> <!-- Nombre d'éléments à afficher, ici on laisse le choix à l'utilisateur avec la valeur block--> <atm-search-limit search="actualites" value="block"/> <!-- Trie les éléments par date de début de publication en ordre décroissant --> <atm-search-order search="actualites" type="publication date after" direction="desc"/> <!-- Résultats de la recherche --> <atm-result search="actualites"> <!-- On affiche le titre de l'actualité et un lien vers la page dédiée si il y a un article --> <atm-if what="{Actualites:Texte:value}" name="lien"> <h2><a href="{page:ID_PAGE:url}?item={Actualites:id}">{Actualites:Titre:value}</a></h2> </atm-if> <!-- Sinon on affiche juste le titre --> <atm-else for="lien"> <h2>{Actualites:Titre:value}</h2> </atm-else> <!-- On affiche la date de début de publication --> <p>{Actualites:formatedDateStart|d/m/Y}</p> <!-- Si il y a une image, on affiche la vignette, pour le savoir on teste s'il y a une valeur pour la largeur de l'image --> <atm-if what="{Actualites:Image:imageWidth}"> {Actualites:Image:imageHTML} </atm-if> <!-- On affiche l'introdution de l'actualité --> {Actualites:Introduction:htmlvalue} <!-- S'il y a un article on affiche un lien vers le détail--> <atm-if what="{Actualites:Texte:value}"> <a href="{page:ID_PAGE:url}?item={Actualites:id}" title="Lire la suite de '{Actualites:label}'">Lire la suite</a> </atm-if> </atm-result> </atm-search> </block> </row> |
Auteur: | Yves [ Jeu Nov 18, 2010 12:57 pm ] |
Sujet du message: | Re: Module Polymod Actualités |
Le code transmis fonctionne. Maintenant, j'ai un petit problème, je ne sais pas comment récupérer la valeur de "item" dans la page m'affichant l'actualité... Si ce n'est qu'en codant en PHP ! Y-a-t-il une solution avec Automne pour afficher la totalité du contenu de l'actualité ? Merci d'avance. Yves PIQUET Serveur dédié : Ubuntu server 10.10 Automne : version 4.0.2 |
Auteur: | Frank [ Jeu Nov 18, 2010 2:42 pm ] |
Sujet du message: | Re: Module Polymod Actualités |
Dans la rangée donnée en exemple on part du principe assez classique qu'on affiche le titre et l'introduction de l'actualité avec un lien vers l'actualité complète. Libre à vous de tout afficher directement en ajoutant les champs souhaités. Dans cet exemple on affiche l'introduction à l'aide de : Code : {Actualites:Introduction:htmlvalue} Si je veux afficher aussi le reste du texte il me suffit d'ajouter à la suite : Code : {Actualites:Texte:htmlvalue} En ce qui concerne la récupération de l'identifiant de l'item on peut ajouter un paramètre facultatif dans les critères de tri de la recherche : Code : <atm-search-param search="actualites" type="item" value="{request:int:item}" mandatory="false" /> Ici la valeur de l'item est retourné par {request:int:item} qui veut dire que je peux passer un paramètre nommé item de type entier dans l'URL. Pour plus d'information sur cette syntaxe, se reporter à l'aide sur les variables générales disponible dans Automne en mode édition du code XML des rangées, dont je recopie ici la partie qui nous intéresse : Citer: Variables relatives aux données envoyées (via une adresse ou un formulaire) : Ces variables correspondent à une variable provenant de la soumission d'un formulaire ou bien d'un paramètre du lien ayant amené à la page en cours. Elles sont de la forme Code : {request:type:name} :
Ensuite une fois que j'ai donné la possibilité dans ma rangée de passer un paramètre dans l'URL, je peux traiter les 2 cas avec ou sans paramètre dans le tag <atm-result> : Citer: <!-- S'il n'est pas présent on affiche juste l'introduction et un lien vers l'actualité complète --> <atm-if what="!{request:int:item}"> <!-- j'ajoute un lien vers la page en cours à l'aide de self mais ça pourrait être une autre page en passant son ID --> <h2><a href="{page:self:url}?item={Actualites:id}">{Actualites:Titre:value}</a></h2> {Actualites:Introduction:htmlvalue} <!-- Si le paramètre item est present dans la requête (URL) on affiche tout --> <atm-if what="{request:int:item}"> <!-- J'affiche tous les champs : titre, introduction, texte --> <h2>{Actualites:Titre:value}</h2> {Actualites:Introduction:htmlvalue} {Actualites:Texte:htmlvalue} Comme tu peux le voir on évite de faire appel à la moindre ligne de PHP mais ça demande de bien connaître toutes les possibilités offertes par les tags XML d'Automne. |
Page 1 sur 1 | Le fuseau horaire est UTC [Heure d’été] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |