dans news 1.63 modification de /topics_directory.php | Titre du sujet : dans news 1.63 modification de /topics_directory.php par reptile sur 13/07/2009 17:32:12
bonjour a tous,
tout d'abord je me réjouis du nouvel élan de la communauté.
n'ayant pas vraiment de motion du php voici ma question:
je voudrais modifier le fichier topics_directory.php du module news 1.63 pour obtenir sous chaque sujet la liste des articles s'y reportant.
je voudrais donc adapter le code suivant:
$xoopsOption['template_main'] = 'news_topics_directory.html'; include_once XOOPS_ROOT_PATH.'/header.php';
$myts =& MyTextSanitizer::getInstance();
$newscountbytopic = $tbl_topics = array(); $perms = ''; $xt = new NewsTopic(); $restricted = news_getmoduleoption('restrictindex'); if ($restricted) { global $xoopsUser; $module_handler =& xoops_gethandler('module'); $newsModule =& $module_handler->getByDirname('news'); $groups = is_object($xoopsUser) ? $xoopsUser->getGroups() : XOOPS_GROUP_ANONYMOUS; $gperm_handler =& xoops_gethandler('groupperm'); $topics = $gperm_handler->getItemIds('news_view', $groups, $newsModule->getVar('mid')); if(count($topics) >0 ) { $topics = implode(',', $topics); $perms = ' AND topic_id IN ('.$topics.') '; } else { return ''; } } $topics_arr = $xt->getChildTreeArray(0, 'topic_title', $perms); $newscountbytopic = $xt->getNewsCountByTopic(); if(is_array($topics_arr) && count($topics_arr)) { foreach ($topics_arr as $onetopic) { $count = 0; if(array_key_exists($onetopic['topic_id'],$newscountbytopic)) { $count = $newscountbytopic[$onetopic['topic_id']]; } if($onetopic['topic_pid'] != 0) { $onetopic['prefix'] = str_replace('.','-',$onetopic['prefix']) . ' '; } else { $onetopic['prefix'] = str_replace('.','',$onetopic['prefix']); }
$tbl_topics[] = array('id'=>$onetopic['topic_id'], 'news_count'=>$count, 'topic_color'=>'#'.$onetopic['topic_color'], 'prefix'=>$onetopic['prefix'], 'title'=>$myts->displayTarea($onetopic['topic_title'])); } } $xoopsTpl->assign('topics', $tbl_topics);
$xoopsTpl->assign('advertisement', news_getmoduleoption('advertisement'));
par avance merci de votre aide, Xoopsement jP
|
|