[Résolu]nombre article dans catégorie (admin et aFiles reduit)

25 janv. modifié dans Entraide

Bonjour/bonsoir,

J'essaie de récupérer le nombre d'article disponibles par catégories via $plxAdmin->aCats['XXX']['articles']après avoir modifier: $plxAdmin->plxGlob_arts->aFiles (ainsi que $plxAdmin->activeCats et $plxAdmin->aCats ) Mais la valeur reste invariablement celles correspondant à celles extraites à partir des fichiers articles physiquement présent dans le répertoire data/articles .
Faut-il refaire un passage spécifique sur les noms de fichiers articles stocker dans le tableau modifié aFiles ou bien cette info peut-être déjà extraite d'une autre manière.

exemple : 100 articles / 1 catégorie
faisons un tri sur une période donnée ou un/des utilisateur(s) : résultat possible entre 0 et 100
Quelque soit le nombre d'article retiré du tableau , aCats['XXX']['articles'] me retournera toujours 100, même si count($plxAdmin->plxGlob_arts->aFiles) me retourne 0 ou 50.

Cdt

♣♣♣♣ <°(((((-{ ~ Mon site avec PluXml: https://re7net.com | Mes plugins pour PluXml : https://github.com/gcyrillus }-))))°> ♣♣♣♣

Mots clés:

Réponses

  • bazooka07bazooka07 Moderator

    Bonsoir,

    Tu peux récupérer le code de la fonction plxShow::catList() et remplacer $this->plxMotor par $plxAdmin;
    Tu peux supprimer le test "in_array($v['menu'], array('oui', 1)) && $v['active']" si tu veux toutes les catégories.

    A++

  • 24 janv. modifié

    Merci de ton retour,
    il me semble que $v['article'] me retourne aussi ici le nombre total d'article trouvé sur le disque .
    Pour le moment j'ai ajouté le compte dans une boucle déjà existante.
    extrait du code (si ça a du sens hors contexte) exemple de tri sur une année définie
    extrait de boucle sur $magfiles etant un clone de $plxAdmin->plxGlob_arts->aFiles;

        foreach ($magfiles as $key=>$v) { # On parcourt tous les fichiers
         $art =  $plxAdmin->parseArticle(PLX_ROOT . $plxAdmin->aConf['racine_articles'] . $v);
            $testKey= substr($art['date_creation'],0,6);
            // recolte des categories reliées aux articles filtrés
            // ....
            if ($plxPlugin->getParam('epubMode')=='magA') { 
            $testKeyY=substr($art['date_creation'],0,4);
            $string =   $plxPlugin->getParam('magAY');// la je recupére l'année choisie
             if ($testKeyY != $string ) {
                 unset($magfiles[$key]);
                } else {
                     $catsfound=explode(',',$art['categorie']); 
                     foreach($catsfound as $keycat => $catval){
                         if($catval !='draft') {
        /* ajout  comptage article*/            if(!isset($catartnb[$catval])){$catartnb[$catval]=1;}else{$catartnb[$catval]=$catartnb[$catval] + 1;}// crée ou incrémente le nombre d'article trouvé dans une catégorie.
                    $categories[$catval]= $catval;
                    array_unique($categories);
                         }
                     }
                }
    
            }// magA
            // ....
        }
                   //debug visuel 
            ksort($catartnb);
            foreach($catartnb as $mctNb => $vlNm) {
                echo 'cat:'.$mctNb .' nb: '.$vlNm.'<br>';
    
    

    ♣♣♣♣ <°(((((-{ ~ Mon site avec PluXml: https://re7net.com | Mes plugins pour PluXml : https://github.com/gcyrillus }-))))°> ♣♣♣♣

Connectez-vous ou Inscrivez-vous pour répondre.