Je ne ferai pas de super introduction à mon billet, donc voilà une petite liste qui peut servir (mais qui me servira à moi en premier :-) ).
Avant, je tiens à préciser qu'en général, je n'invente rien, ceci n'est qu'un recensement de petits trucs qu'on peut trouver dans la documentation ou dans le WiKi.
Partie publication
Classer les ressources
Il suffit de les numéroter, c'est à dire de modifier le titre "article" en "01. article". Ensuite, Plume inclut une fonction pour les enlever au moment de l'affichage (il faudra veiller à l'initialiser si vous créez de nouveaux gabarits)
Catégorie fantôme
Plume permet de créer des catégories fantôme. Entendez par là qu'elles ne s'afficheront pas dans le menu. Elles marchent "comme des vraies" mais ne sont pas affichées dans le menu.
Ça peut servir dans certains cas...
C'est très simple, ajoutez un _ devant le chemin de la catégorie (le chemin pas le titre).
Gabarits
Désactiver le cache
Utile pendant le développement ! Dans Outils, Configuration de Plume CMS, il faut mettre les informations de débuggage à oui.
Afficher la liste des catégories à la racine...
...Pour obtenir un menu de premier niveau : pxPrimaryCategories
Un gabarit par catégorie
Dans le dossier des gabarits, créer un fichier category_gabarit.php (autant que de catégories devant avoir un squelette différent) et dans l'interface d'administration, dans une catégorie, choisir le fichier précédemment créé
Un gabarit par article/brève
Un petit peu moins simple ; dans Sites, Gérer les sous-types des ressources puis Nouveau Type (et c'est à vous de remplir...)
Cache partiel
Pour débuter une section de cache :
<?php
if ($cache->processSegment('partie1', 3600)):
?>
Pour la terminer :
<?php $cache->endCache(); endif; ?>
pxTemplateInit()
Pour peu que vous ayez mis un peu le nez dans les gabarits, vous vous serez aperçus que cette fonction était récurrente en haut de chaque page. Effectivement, c'est elle qui fait presque tout, elle se charge d'appeller les ressources que vous utiliserez.
Mais cette fonction a plusieurs paramètres, voici les plus utiles. Pour utiliser des paramètres, appelez la fonction de cette façon : pxTemplateInit('param1|param2')
-order_(res|cat)_manual
ce paramètre classe les ressources par ordre alphabétique (ou numérique) dans les ressources ou les catégories (res ou cat)
-remove_numbers
ce paramètre permet de supprimer les nombres devant les titres (voir plus bas)
-res_per_page
ce paramètre indique le nombre de ressources à afficher sur chaque page (entier numérique)
Flux RSS Valide
Vous pouvez publier des brèves avec Plume... Mais le fil RSS n'est pas valide ! Pour corriger ça, un petit tour sur le WiKi de Plume, rendre son fil RSS valide.
Afficher les autres ressources dans la même catégorie
Il est pratique de fournir au visiteur la liste des autres ressources disponibles dans la rubrique dans laquelle se trouve la page visitée. Pour cela, voici une fonction fait-maison, peut-être (sûrement) pas la meilleure, mais qui a le mérite de fonctionner.
Premièrement, on va ajouter deux fonctions dans le fichier /manager/frontinc/functions.php :
function pxCategorieId() // retourne l'identifiant de la catégorie actuelle
{
global $_PX_website_config, $_PX_config;
$cat = $GLOBALS['_PX_render']['m']->art->getCategories();
$id = $cat->f('category_id');
return $id;
}
function pxRessourceId() // retourne l'identifiant de la ressource
{
$id = $GLOBALS['_PX_render']['m']->art->f('resource_id');
return $id;
}
Ensuite, il faut exploiter tout ça dans resource_article.php grace au code suivant :
include('/manager/conf/config.php');
@ $db = mysql_pconnect($_PX_config['db']['db_server'],$_PX_config['db']['db_login'], $_PX_config['db']['db_password']);
if(!$db) { echo 'Erreur de connexion'; exit; }
mysql_select_db($_PX_config['db']['db_database']);
$cat = pxCategorieId();
$ida = pxRessourceId();
$requete = 'SELECT art.title,art.path,art.identifier,art.resource_id, cat.category_id,cat.identifier,ccat.category_id,ccat.category_path FROM plume_resources AS art, '.$_PX_config['db]['table_prefix'].'_categoryasso AS cat, '.$_PX_config['db]['table_prefix'].'_categories AS ccat WHERE cat.category_id = '.$cat.' AND cat.category_id = ccat.category_id AND art.identifier = cat.identifier AND art.resource_id != '.$ida.' ORDER BY art.title';
$resultat = mysql_query($requete);
echo "<ul>\n";
while($tableau = mysql_fetch_array($resultat)) {
$titre = px_removeNumbers($tableau['title']);
echo '<li><a href="'.$tableau['path'].'" title="'.$titre.'">'.$titre.'</a></li>';
}
echo "\n</ul>\n";
mysql_close();
Petite explication du code :
- ligne 1, on récupère la configuration de Plume (changez l'adresse si chez vous c'est pas comme ça...)
- ligne 2, on se connecte à la BDD
- ligne 7, on construit la requête (complexe, je vous conseille donc de mettre ce code dans une section en cache pour que MySQL ne souffre pas)
- dans les lignes suivantes, on exploite les résultats
Je complèterai la liste au fur et à mesures si je trouve d'autres choses intéressantes.


