Wiki Plume Community : CatMap

HomePage :: Categories :: PageIndex :: RecentChanges :: RecentlyCommented :: Login/Register

Générer le plan détaillé d'une catégorie (principe de sitemap)


Pour ajouter ces fonctions, créer :
- dans manager/tools un dossier mesfonctions
- dans manager/tools/mesfonctions un fichier register.php

NB : le fichier register.php doit commencer par

<?php


et se terminer par

?>


Ajouter les fonctions suivantes dans register.php

/*
AFFICHAGE PLAN DETAILLE D'UNE CATEGORIE
DISPLAY THE "SITEMAP" OF A CATEGORY
*/


/*
titre et description de la sous-catégorie
title and description of the sub-category
*/

function pxTitleSubCat($name, $vals)
{
        return sprintf('<h3><a href="%s" title="Liste complète des articles">%s</a></h3>'."\n".'%s'."\n",
                       $vals['path'], $name,
                        text::parseContent($vals['desc']),$name);
}

/*
contenu de la sous-catégorie
sub-category content
*/

function pxCatMapContent($category, $type, $limit)
{
    $list = pxSitemapCategoriesList($category);
   
    while (list($name, $vals) = each ($list)) {
        echo sprintf('%s'."\n",  pxTitleSubCat($name,
$vals));
        echo '<ul>'."\n";
               
        $cat = $vals['id'];
        $res = FrontEnd::getResources($cat, $limit, $type);
        $lang = config::f('lang');
       
        switch ($lang) {
        case 'fr' :           
            $dateformat = '%d/%m/%Y';
            $next = 'Toutes les ressources publiées dans « '.$name.' »';
            break;
        // can be completed with other languages
        default :           
            $dateformat = '%m/%d/%Y';
            $next = 'All resources in « '.$name.' »';
        }
       
       
        if ($res->EOF()) {
        } else {   
            while (!$res->EOF()) {
            echo sprintf('<li>'.strftime($dateformat, date::unix($res->f('publicationdate'))).' : <a href="%s">%s</a></li>'."\n", $res->getPath(), px_removeNumbers($res->f('title')));
             $res->moveNext();
                }
            echo '</ul>'."\n\n";
            echo ('<p class="nb_ressources"><a href="'.$vals['path'].'">'.$next.'</a></p>'."\n\n");
            }
        }
 }

/*
fonction utilisée dans la page pour composer le plan de la catégorie
function to be used in the template du display the "CATMAP"
*/

function pxShowCatMap($type='all', $limit='10')
{
    if ($type == 'all') {
        $type = '';
    }
    $rootcat = $GLOBALS['_PX_render']['cat']->f('category_id');
    pxCatMapContent ($rootcat, $type, $limit, 0);
}


Placer alors dans le gabarit category_category.php la fonction suivante :

<?php pxShowCatMap('all', 5); ?>


Comme pour le plan du site, la fonction dispose de 2 paramètres :
- $limit : nombre entier indiquant le nombre de ressources à afficher (10 par défaut) ;
- $type :
' ' ou 'all' : affiche tous les types de ressources (brèves et articles) ;
'news' : affiche les brèves ;
'articles' : affiche les articles.
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.1
Page was generated in 3.3307 seconds