Forum CMS Made Simple FR

Version complète : Module "News" : créer une page historique ?
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.

stephan53

Bonjour à vous,

Je suis en train d'étudier le module "News" de CMSMS.

La question que je me pose et dont je n'ai pas la réponse pour le moment, c'est comment il peut être possible de créer une page "historique des actualités". Avec, par exemple, un affichage du titre de toutes les actualités "anciennes" (showarchive="0" ?) par dates (sortby="news_date" ?), en les regroupant par exemple par mois (actualités de décembre 2009, actualités de novembre 2009, etc...)

?
le tri et l'affichage des anciennes news est tout a fait possible avec les paramètres.

La personnalisation avec juste le titre + date est ok via la modif d'un gabarit propre à cette fonction.

Une page "oldNews" contenant juste l'appel au module news avec tous les param sus-nommé te ferra ce que tu veux.

Reste le point du regroupement...

Oui c'est faisable en programmant un peu de php/smarty mais faut s'y connaitre, en gros tu boucle sur les news, tu mémorise à chaque nouvelle news la combo année + mois sous la forme YYYYMM dans une variable. Si elle est différente de la précédente, tu insère une entête de section sous la forme désirée : un simple <h3> News du YYYYMM </h3> ou + évolué. Dans tous les cas tu mets en mémoire la date de la news actuellement parcourue à la place de la précédente et tu continue ta boucle.

j'espère avoir fait un algo assez clair :/

stephan53

Merci.

Pour la première partie c'est ok :-)
Pour la seconde, on verra, n'étant pas très doué en php, et débutant avec smarty. Mais je crois avoir compris le principe :-)

stephan53

Juste un passage pour signaler une erreur dans la page d'aide du module "News" :

Pour afficher des actualités "anciennes" il faut le code showarchive="1" et non showarchive="0" comme indiqué.


Edit - Plus que ça, c'est : showarchive=1 (sans les ").
Sinon on obtient un affichage de news à venir (et non anciennes)