Forum CMS Made Simple FR
Archive d'articles triés par année - Version imprimable

+- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr)
+-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html)
+--- Forum : Général (https://forum.cmsmadesimple.fr/forum-10.html)
+--- Sujet : Archive d'articles triés par année (/thread-306.html)



Archive d'articles triés par année - Yvan - 09/04/2010

Citation :#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
#~ Version du CMS : 1.7.0
#~ Version du MLE si existante : nope
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.7
#~ Installed Modules:
#~ * CMSMailer: 1.73.14
#~ * FileManager: 1.0.2
#~ * MenuManager: 1.6.2
#~ * ModuleManager: 1.3.3
#~ * News: 2.10.4
#~ * nuSOAP: 1.0.1
#~ * Printing: 1.0.4
#~ * Search: 1.6.2
#~ * ThemeManager: 1.1.1
#~ * TinyMCE: 2.6.5
#~ * FrontEndUsers: 1.8.1
#~ * CustomContent: 1.5.3
#~ * CGExtensions: 1.18.2
#~ * CGCalendar: 1.3.1
#~ Config Information:
#~ * php_memory_limit:
#~ * process_whole_template: false
#~ * max_upload_size: 48000000
#~ * default_upload_permission: 664
#~ * assume_mod_rewrite: false
#~ * page_extension:
#~ * internal_pretty_urls: false
#~ * use_hierarchy: true
#~ Php Information:
#~ * phpversion: 5.2.11
#~ * md5_function: On (Vrai)
#~ * gd_version: 2
#~ * tempnam_function: On (Vrai)
#~ * magic_quotes_runtime: Off (Faux)
#~ * E_STRICT: 0
#~ * memory_limit: 64M
#~ * max_execution_time: 10
#~ * safe_mode: Off (Faux)
#~ * session_save_path: Aucune vérification à cause de la restriction spécifiée par PHP open_basedir
#~ * session_use_cookies: On (Vrai)
#~ Server Information:
#~ * Server Api: apache2handler
#~ * Server Db Type: MySQL (mysql)
#~ * Server Db Version: 5.0.84
#~ ----------------------------------------------
#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
Bonjour !

Je voulais mettre au point des pages d'archive pour des articles et j'ai réussi, je crois, mais j'aimerais encore simplifier la maintenance du gabarit. J'ai un bout de code qui se répète et j'ai beau cherché, je ne trouve pas de moyen pratique pour le récupérer.

ça devrait ressembler à ça :

{foreach from=$items item=entry}
{if isset($annee_archive)}
{if ($entry->extra|truncate:4:"":true)>=$annee_archive &&
($entry->enddate|date_format:"%Y")<=$annee_archive}
{global_content name='atricle_court_core'}
{/if}
{else}
{global_content name='atricle_court_core'}
{/if}
{/foreach}

... qu'on appellera comme ça, pour l'archive 2010, par exemple :

{assign var="annee_archive" value="2010"}
{news category="Formation" summarytemplate="Article court" pagelimit="10" sortby="news_extra" sortasc="true" showarchive="1"}

ça me semblait bien, mais je ne peux apparemment pas utiliser de blocs de contenu global. J'ai essayé d'utiliser la fonction smarty 'include', mais j'ai pas eu plus de succès. Comment faire ?
Et si vous avez des remarques par rapport au code lui-même, elles sont bien sûr les bienvenues !


Archive d'articles triés par année - Yvan - 09/04/2010

Rah... Désolé, la réponse doit sembler évident à certains. On peut faire ça :

{if (isset($annee_archive)&&($entry->extra|truncate:4:"":true)>=$annee_archive
&&($entry->enddate|date_format:"%Y")<=$annee_archive)||!isset($annee_archive)}

et mettre le code ici...

Cela dit, j'aimerais bien savoir comment on peut inclure un template à l'intérieur d'un autre dans le module news. Si vous savez, laissez un message Smile


Archive d'articles triés par année - jce76350 - 09/04/2010

re,

comme tu fais les questions et les réponses, attendons Wink