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.
Page was generated in 3.3307 seconds