Forum CMS Made Simple FR
[Résolu] News: un loop avec "Foreach" pour lister articles expirés - Version imprimable

+- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr)
+-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html)
+--- Forum : Modules, Tags (https://forum.cmsmadesimple.fr/forum-14.html)
+--- Sujet : [Résolu] News: un loop avec "Foreach" pour lister articles expirés (/thread-3235.html)



[Résolu] News: un loop avec "Foreach" pour lister articles expirés - benhenda - 03/06/2014

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: !1.11.9
#~ Url du site :
#~ Hébergeur / Soft : ovh
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.11.9
#~ Installed Modules:
#~ CMSMailer: 5.2.2
#~ CMSPrinting: 1.0.5
#~ FileManager: 1.4.3
#~ MenuManager: 1.8.6
#~ MicroTiny: 1.2.5
#~ ModuleManager: 1.5.5
#~ News: 2.14.1
#~ Search: 1.7.11
#~ ThemeManager: 1.1.8
#~ TinyMCE: 2.9.12
#~ CMSDumper: 1.3
#~ MysqlDump: 1.3.1
#~ CGSimpleSmarty: 1.7.2
#~ CGExtensions: 1.38.8
#~ CGBlog: 1.12.1
#~ FormBuilder: 0.7.4
#~ Captcha: 0.4.6
#~ TagCloud: 1.0.2
#~ Disqus: 2.0
#~ CGFeedMaker: 1.0.17
#~ HitCounter: 1.1
#~ Gbook: 2.0
#~ CGFeedback: 1.6.5
#~ ThemesMadeSimple: 0.3
#~ JQueryTools: 1.2.6
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template:
#~ max_upload_size: 30000000
#~ url_rewriting: none
#~ page_extension:
#~ query_var: page
#~ image_manipulation_prog: GD
#~ auto_alias_content: true
#~ locale: fr_FR.utf-8
#~ default_encoding: utf-8
#~ admin_encoding: utf-8
#~ set_names: true
#~ Php Information:
#~ phpversion: 5.5.8
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 2048
#~ E_DEPRECATED: 0
#~ memory_limit: 128M
#~ max_execution_time: Illimité
#~ output_buffering: 4096
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 20M
#~ upload_max_filesize: 30M
#~ session_save_path: C:\EASYPHP\\binaries\tmp (0777)
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ xmlreader_class: On (Vrai)
#~ Server Information:
#~ Server Api: apache2handler
#~ Server Db Type: MySQL (mysqli)
#~ Server Db Version: 5.6.15
#~ Server Db Grants: Trouvé un privilège "GRANT ALL" qui semble être adapté
#~ Server Time Diff: Aucune différence de date du système de fichiers trouvées
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~


Bonjour à tous

J'aimerais avoir un petit coup de pousse pour pramétrer un gabarit de "Sommaire Article" (module News) afin de produire une liste d'archives (articles expirés) composée uniquement du nom du mois et du titre. Mes articles sont limités à un mois d'affichage, donc un seul apparait en page d'accueil.

J'ai adapté un gabarit de sommaire pour afficher les articles expirés par année. Je suis parvenu au code suivant que j'appelle à partir d'un BCG :


Code :
[== CSS ==]
{if $entry->postdate}
<dl>
{foreach from=$items item=entry}
    <dt>2014</dt>
    {if $entry->postdate|cms_date_format:'%Y' == '2014'}
    <dl>{$entry->postdate|cms_date_format:'M'}, <a href="{$entry->moreurl}" title="{$entry->title}">{$entry->title}</a></dl>
    {/if}
    
    <dt>2013</dt>
    {if $entry->postdate|cms_date_format:'%Y' == '2013'}
    <dl>{$entry->postdate|cms_date_format:'M'}, <a href="{$entry->moreurl}" title="{$entry->title}">{$entry->title}</a></dl>
    {/if}
{/foreach}
</dl>
{/if}

.. mais ce script n'affiche que le mois et le titre de l'article courant : le dernier pour 2014 et rien sous 2013.

Ma question est comment faire pour que la fonction "foreach" s'applique à tous les articles archivés. Je sais que le smarty News dispose d'une option showarchive="0" pour afficher seulement les articles expirés, mais je ne sais pas où l'ajouter, à moins qu'il n'y ait une autre façon de faire.

Merci de votre aide

Ben


[Résolu] News: un loop avec "Foreach" pour lister articles expirés - Jean le Chauve - 04/06/2014

Les options sont des paramètres de balise : tu écris {news showarchive="0"} dans le gabarit de page idoine.