Fork me on GitHub

Rapport de message :*
 

Re: TDMPicture

Titre du sujet : Re: TDMPicture
par moss sur 02/03/2013 16:13:01

Hello,

J'ai réussi a mettre un peu d'ordre dans mon code, je rencontre un dernier problème... Je n'arrive pas a compter les éléments dans chaque sous-catégorie...
J'ai beau comparé à TDM qui le fait je n'y arrive pas

Voici mon code, si quelqu'un à une idée, un grand merci d'avance

La ligne
//$criteria->add(new Criteria('cat_id', '(' . implode(',', $categories) . ')','IN'));
est commenté sinon ça fonctionne plus du tout

Dans le index.php
$categories TDMPicture_MygetItemIds('tdmpicture_view''TDMPicture');

$criteria = new CriteriaCompo();
$criteria->add(new Criteria('file_display'0'!='));
$numpict $file_handler->getCount($criteria);
$xoopsTpl->assign('lang_thereare',$numpict);

$criteria = new CriteriaCompo();
$criteria->add(new Criteria('file_display'0'!='));
$criteria->add(new Criteria('file_cat''(' implode(','$categories) . ')','IN'));
$file_arr $file_handler->getAll($criteria);

//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 TDMObjectTree($picturescat_arr'cat_id''cat_pid'); 

//affichage des catégories
$count 1;
$keywords '';
foreach (
array_keys($picturescat_arr) as $i) {
    if (
$picturescat_arr[$i]->getVar('cat_pid') == 0){
        
$totalpictures TDMPicture_NumbersOfEntries($mytree$categories$file_arr$picturescat_arr[$i]->getVar('cat_id'));
        
$subcategories_arr $mytree->getFirstChild($picturescat_arr[$i]->getVar('cat_id'));
        
$chcount 0;
        
$subcategories '';
        
//pour les mots clef
        
$keywords .= $picturescat_arr[$i]->getVar('cat_title') . ',';
        foreach (
array_keys($subcategories_arr) as $j) {
                
$subcategories .= '<li><a href="' XOOPS_URL '/modules/TDMPicture/viewcat.php?ct=' $subcategories_arr[$j]->getVar('cat_id') ."&tris=".$tris."&limit=".$limit.'">' $subcategories_arr[$j]->getVar('cat_title') . '</a> ('.$totalpictures.') </li>' ;
                
$keywords .= $picturescat_arr[$i]->getVar('cat_title') . ',';
                
$chcount++;
        }
        
$xoopsTpl->append('categories', array('id' => $picturescat_arr[$i]->getVar('cat_id'), 'title' => $picturescat_arr[$i]->getVar('cat_title'), 'subcategories' => $subcategories'totalpictures' => $totalpictures'count' => $count));
        
$count++;
    }
}


dans modules/TDMPicture/include/functions.php
//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
}


function 
TDMPicture_NumbersOfEntries($mytree$categories$entries,$cid)
{
    
$count 0;
    
$child_arr = array();
    if(
in_array($cid$categories)) {
        
$child $mytree->getAllChild($cid);
        foreach (
array_keys($entries) as $i) {
            if (
$entries[$i]->getVar('file_cat') == $cid){
                
$count++;
            }
            foreach (
array_keys($child) as $j) {
                if (
$entries[$i]->getVar('file_cat') == $j){
                    
$count++;
                }
            } 
        }
    } 
    return 
$count;
}


Et dans les templates modules/TDMPicture/templates/tdmpicture_index.html
<{$lang_thereare}>

        <!-- 
Start category loop -->
        <{foreach 
item=category from=$categories}>


            <
a href="<{$xoops_url}>/modules/TDMPicture/viewcat.php?ct=<{$category.id}>"><h3><{$category.title}></h3></a>
            <{if 
$category.subcategories != ""}>
           <
ul><{$category.subcategories}></ul><{/if}>


        <{/foreach}>

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

117 Personne(s) en ligne (56 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 117 | Plus ...