Archives du module News - pasc06 - 26/03/2010
Citation :#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
#~ Version du CMS : 1.6.6
#~ Version du MLE si existante : Non
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.6.6
#~ Installed Modules:
#~ * CMSMailer: 1.73.14
#~ * FileManager: 1.0.1
#~ * MenuManager: 1.6.2
#~ * ModuleManager: 1.3.1
#~ * News: 2.10.3
#~ * nuSOAP: 1.0.1
#~ * Printing: 1.0.4
#~ * Search: 1.6.1
#~ * ThemeManager: 1.1.1
#~ * TinyMCE: 2.6.2
#~ * CGExtensions: 1.17.9
#~ * Banners: 2.3.2
#~ Config Information:
#~ * php_memory_limit:
#~ * process_whole_template: false
#~ * max_upload_size: 10000000
#~ * default_upload_permission: 664
#~ * assume_mod_rewrite: false
#~ * page_extension:
#~ * internal_pretty_urls: false
#~ * use_hierarchy: true
#~ Php Information:
#~ * phpversion: 5.1.6
#~ * md5_function: On (Vrai)
#~ * gd_version: 2
#~ * tempnam_function: On (Vrai)
#~ * magic_quotes_runtime: Off (Faux)
#~ * memory_limit: 64M
#~ * max_execution_time: 90
#~ * 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.77
#~ ----------------------------------------------
#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
Bonjour,
Dans mon menu j'aimerais ajouter une page "Archives", dans laquelle il y aurait les archives des news classées par mois, un peu comme sur cette page :
Apparemment je n'ai pas trouvé l'option dans le module News.
Comment faire ?
Merci d'avance pour votre aide
Archives du module News -
bess - 26/03/2010
tu installe wordPress
en tout cas c'est ce qu'ils ont fait pour gérer leur blog et leur news (Ctrl + u , recherche <meta name="generator" content="WordPress 2.8.4" />)
Concernant le module News il me semble que d'autres avaient déjà posé la question sur le forum et que la solution passait inévitablement par un UDT attaquant la base de donnée
Archives du module News - pasc06 - 26/03/2010
Merci pour ton aide
Oui j'ai vu les messages sur le forum.
Heu... Qu'est ce qu'un UDT ?
Archives du module News -
bess - 26/03/2010
l'anglais de Balise Utilisateur
Archives du module News -
jce76350 - 26/03/2010
re
>Qu'est ce qu'un UDT ?
la documentation => le Wiki !!!!
Les balises personnalisées (appelées "tags" utilisateurs, ou UDT soit User Defined Tags en anglais
http://wiki.cmsmadesimple.org/index.php/User_Handbook/Admin_Panel/Extensions/User_Defined_Tags/fr
Archives du module News -
toniodesbois - 26/04/2011
Bonjour,
Je cherche aussi à archiver mes articles. J'ai trouvé une réponse sur le forum en anglais (
http://forum.cmsmadesimple.org/viewtopic.php?t=42601)
Il faut :
1) Créer un page sur laquelle on veut afficher les news, désactiver le wysiwyg et coller ceci :
Code :
{*assign var='gCms' value=''|cmsms*} {*uncomment this line it template does not work with CMSms 1.8+ *}
{news_extreme_date assign=news_start_date extreme='min'}
{news_extreme_date assign=news_end_date extreme='max'}
{assign var='current_time' value='Y-m-d H:i:s'|date}
{assign var='active_year' value=$smarty.get.news_date|substr:0:4}
{assign var='start_year_list' value=$news_start_date|substr:0:4}
{assign var='loop_year_list' value=$news_end_date|substr:0:4}
{********** years ************}
{section name=year_list start=$start_year_list loop="`$loop_year_list+1`"}
{news_date assign='news_ids' date=`$smarty.section.year_list.index`} {*coment if you want to see links to periods without articles*}
{if !empty($news_ids)} {*coment if you want to see links to periods without articles*}
{capture assign=temp}&news_date={$smarty.section.year_list.index}{/capture}
{if $smarty.section.year_list.index == $active_year}
{$smarty.section.year_list.index}
{else}
{cms_selflink page=$page_alias urlparam=$temp text=$smarty.section.year_list.index}
{/if}
{/if} {*coment if you want to see links to periods without articles*}
{/section}
{********** years end*********}
{********** months and news *******************}
{assign var=mod value=$gCms->modules.FormBuilder.object}
{assign var='temp' value='date_january,date_february,date_march,date_april,date_may,date_june,date_july,date_august,date_september,date_october,date_november,date_december'}
{assign var='months' value=','|explode:$temp}
{if !empty($smarty.get.news_date)}
{********** months *************}
{foreach from=$months name='months' item=month}
{capture assign='news_date'}{$active_year}-{$smarty.foreach.months.iteration|string_format:"%'02u"}{/capture}
{if ($news_date >= $news_start_date && $news_date <= $news_end_date) || (strpos($news_start_date, $news_date) !== FALSE) || (strpos($news_end_date, $news_date) !== FALSE)}
{news_date assign='news_ids' date="`$news_date`"} {*coment if you want to see links to periods without articles*}
{if !empty($news_ids)} {*coment if you want to see links to periods without articles*}
{capture assign='text'}{$mod->Lang($months[$smarty.foreach.months.index])}{/capture}
{if $smarty.get.news_date!=$news_date}
{cms_selflink page=$page_alias text=$text urlparam="&news_date=$news_date"}
{else}
{$text}
{/if}
{/if} {*coment if you want to see links to periods without articles*}
{/if}
{/foreach}
{********** months end *********}
{********** news ***************}
{news_date assign='news_ids' date="`$smarty.get.news_date`" sort_by='create_date' sort_order='asc'}
{assign var=mod value=$gCms->modules.News.object}
{if !empty($news_ids)}
{*might be better option if you need all fields in articles *}
{assign var='news_ids' value=','|explode:$news_ids}
{foreach from=$news_ids item='articleid'}
{News action='detail' detailtemplate='summary' articleid=$articleid}
{module_action_link module='News' action='detail' articleid=$articleid text=$mod->Lang('more') page=$page_alias}
{/foreach}
{*news_ids ids=$news_ids*} {*original way for simple summaries*}
{else}
{$mod->Lang('none')} {*Visitor will this message if there is no articles for this period*}
{/if}
{********** news end ***********}
{/if}
2) Créer une balise utilisateur news_date et coller ceci :
Code :
/*$params['assign']*//*mandatory*/
/*$params['date']*//*mandatory*//*9999-12-32 23:59:59*/
/* $params['sort_by']*//* create_date, modified_date, start_time, end_time, news_extra, news_id, news_title, news_date */
/* $params['sort_order'] */ /* ASC, DESC */
if (!empty($params['assign']) && !empty($params['date'])){
$params['sort_by'] = trim(strtolower($params['sort_by']));
switch ($params['sort_by']){
case 'modified_date':
case 'news_id':
case 'news_title':
case 'news_date':
case 'start_time':
case 'end_time':
case 'news_extra':
$sort_by = $params['sort_by'];
break;
default:
$sort_by = 'create_date';
break;
}
$params['sort_order'] = trim(strtoupper($params['sort_order']));
switch ($params['sort_order']){
case 'ASC' :
$sort_order = $params['sort_order'];
break;
default:
$sort_order = 'DESC';
break;
}
$params['date'] = substr(trim($params['date']), 0, 19);
$start_date = substr_replace('0000-00-00 00:00:00', $params['date'], 0, strlen($params['date']));
$end_date = substr_replace('9999-12-31 23:59:59', $params['date'], 0, strlen($params['date']));
$assign = '';
global $gCms;
$db =& $gCms->GetDB();
$query = 'SELECT news_id FROM '.cms_db_prefix()."module_news WHERE news_date >= ? AND news_date <= ? AND status = ? ORDER BY $sort_by $sort_order";
$array = $db->GetArray($query,array($start_date, $end_date, 'published'));
foreach($array as $row){
$assign .= $row['news_id'].',';
}
$assign = rtrim($assign, ' ,');
$smarty = $gCms->GetSmarty();
$smarty->assign($params['assign'], $assign);
}
3) Créer une balise utilisateur news_extreme_date et coller ceci :
Code :
/*$params['assign']*//*mandatory*/
/*$params['extreme']*//*mandatory*/ /* 'min' | 'max'*/
$extreme = strtoupper(trim($params['extreme']));
if (!empty($params['assign']) && ($extreme == 'MIN' or $extreme == 'MAX')){
$assign='';
global $gCms;
$db =& $gCms->GetDB();
$query = 'SELECT '.$extreme.'(news_date) FROM '.cms_db_prefix()."module_news ". " WHERE status = 'published'";
$assign = $db->GetOne($query);
$smarty = $gCms->GetSmarty();
$smarty->assign($params['assign'], $assign);
}
Le résultat attendu :
http://www.alytausmuziejus.lt/naujienos-12/lt
Mon résultat :
http://www.unssf.org/aaa
Je parviens à afficher les années et les mois contenant des news avec les liens "En savoir plus" qui pointent vers les articles mais je n'arrive pas à afficher le résumé de ces articles.
Quelqu'un peut-il me donner un coup de main ?