Titre du sujet : Re: TDMPicture par Nikita sur 25/02/2013 20:29:10
Bonsoir,
@moss On peut encore le modifier pour l'adapter exactement comme tu le veux, mais je me suis inspirée de TDMDownloads
dans modules/TDMPicture/index.php
Après
$xoopsTpl->assign('display_tris', $mytree->makeSelTris($_SERVER['PHP_SELF'], "", $tris, $order));
//
Ajoute
//Pour les permissions
$categories = TDMPicture_MygetItemIds('tdmpicture_catview', 'TDMPicture');
//Tableau des catégories
$criteria = new CriteriaCompo();
$criteria->add(new Criteria('cat_display', 1));
$criteria->add(new Criteria('cat_id', '(' . implode(',', $categories) . ')','IN'));
$criteria->setSort('cat_weight ASC, cat_title');
$criteria->setOrder('ASC');
$picturescat_arr = $cat_handler->getall($criteria);
$mytree = new XoopsObjectTree($picturescat_arr, 'cat_id', 'cat_pid');
$xoopsTpl->assign('nb_catcol', 2);//2 est le nombre de colonnes pour afficher les catégories
$count = 1;
foreach (array_keys($picturescat_arr) as $i) {
if ($picturescat_arr[$i]->getVar('cat_pid') == 0){
$xoopsTpl->append('categories', array('image' => TDMPICTURE_CAT_URL . $picturescat_arr[$i]->getVar('cat_img'), 'id' => $picturescat_arr[$i]->getVar('cat_id'), 'title' => $picturescat_arr[$i]->getVar('cat_title'), 'count' => $count));
$count++;
}
}
dans modules/TDMPicture/viewcat.php
Après
//$xoopsTpl->assign('nav_bar', $GLOBALS['navbar']);
Ajoute
//Pour les permissions
$categories = TDMPicture_MygetItemIds('tdmpicture_catview', 'TDMPicture');
//Tableau des catégories
$criteria = new CriteriaCompo();
$criteria->add(new Criteria('cat_display', 1));
$criteria->add(new Criteria('cat_pid', $ct));
$criteria->add(new Criteria('cat_id', '(' . implode(',', $categories) . ')','IN'));
$criteria->setSort('cat_weight ASC, cat_title');
$criteria->setOrder('ASC');
$picturescat_arr = $cat_handler->getall($criteria);
$mytree = new XoopsObjectTree($picturescat_arr, 'cat_id', 'cat_pid');
$xoopsTpl->assign('nb_catcol', 2);//2 est le nombre de colonnes pour afficher les catégories
$count = 1;
foreach (array_keys($picturescat_arr) as $i) {
$xoopsTpl->append('categories', array('image' => TDMPICTURE_CAT_URL . $picturescat_arr[$i]->getVar('cat_img'), 'id' => $picturescat_arr[$i]->getVar('cat_id'), 'title' => $picturescat_arr[$i]->getVar('cat_title'), 'count' => $count));
$count++;
}
dans modules/TDMPicture/include/functions.php
A la fin du fichier et avant
?>
Ajoute la fonction
//Fonction pour affichage catégories suivant pemissions
function TDMPicture_MygetItemIds($permtype,$dirname)
{
global $xoopsUser;
static $permissions = array();
if(is_array($permissions) && array_key_exists($permtype, $permissions)) {
return $permissions[$permtype];
}
$module_handler =& xoops_gethandler('module');
$tdmModule =& $module_handler->getByDirname($dirname);
$groups = is_object($xoopsUser) ? $xoopsUser->getGroups() : XOOPS_GROUP_ANONYMOUS;
$gperm_handler =& xoops_gethandler('groupperm');
$categories = $gperm_handler->getItemIds($permtype, $groups, $tdmModule->getVar('mid'));
return $categories;
}
Et dans les templates modules/TDMPicture/templates/ tdmpicture_index.html tdmpicture_viewcat.html
<!-- Start Show categories -->
<{if count($categories) gt 0}>
<table border="0" cellpadding="0" align="center">
<tr>
<{foreach item=category from=$categories}>
<td>
<a title="<{$category.title}>" href="<{$xoops_url}>/modules/TDMPicture/viewcat.php?ct=<{$category.id}>"><{$category.title}></a>
</td>
<{if $category.count is div by $nb_catcol}>
</tr>
<tr>
<{/if}>
<{/foreach}>
</tr>
</table>
<{/if}>
<!-- End Show categories -->
|