Lier le titre de la brève au site associé à cette brève
Imaginons, que vous avez créé une catégorie de liens où vous postez des brèves, chacune étant un petit descriptif du site dont vous parlez.
La brève s'affiche avec son contenu total (quelques lignes seulement) sur votre page. Le réflexe du visiteur intéressé par votre liste de lien est bien sûr de cliquer sur le titre de la brève pour visiter le site en question. Mais là, il arrive sur la même description, cette fois-ci présentée avec votre mise en page resource.news.php
En bref, une petite perte de temps....
La solution est très simple si vous souhaitez remplacer le titre de la brève par le titre et l'adresse du site internet associé à cette brève.
Première étape
Si vous ne l'avez pas déjà fait, suivez les instruction du tutoriel de Joss, sur l'affichage du titre du site internet
http://plume-cms.net/wiki/DisplayAssociatedLink∞
Quand vous écrivez, votre brève dans la catégorie 'liens" que vous aurez créé au préalable, remplissez les champs "site internet associé à la brève".
Deuxième étape
Vous allez éditer votre fichier template de liens. On imagine bien-sûr que vous en avez créé un fichier du genre category.links.php dans votre répertoire templates et que vous l'avez associé à votre catégorie "liens"
Repérez la boucle Last. Pour l'instant ce qui correspond à l'affichage du titre de la brève, c'est ça...
<a href="<?php pxLastResPath(); ?>"><?php pxLastResTitle(); ?></a>
Vous l'avez ? On continue donc en remplaçant cette fonction par celle-ci
<?pxLastResAssociatedLink();?>
Vous pouvez désormais tester, en cliquant sur le titre de la brève sur votre page catégorie, vous allez directement sur le site internet dont parle la brève.
ATTENTION: Il est évident que vous ne devez pas utiliser cette modification partout. Si par exemple, dans une liste de ressources récentes, vous n'affichez que le titre de la brève et une date de création. En cliquant sur le titre, le visiteur doit pouvoir accèder à la description de la brève. Nous allons donc continuer nos modifications, à commencer par le fichier functions.php
Troisième étape
Revenons sur la fonction pxResAssociatedLink, il va falloir retirer quelques caractères pour que l'affichage se fasse correctement et surtout que le titre de la brève linké vers le site soit seul à aparaître.
Remplacez la fonction par
function pxResAssociatedLink
($s =
'%1$s')
{
if (strlen($GLOBALS['_PX_render']['m']->
res->
f('news_titlewebsite')) >
0) {
echo sprintf($s,
$GLOBALS['_PX_render']['m']->
res->
f('news_linkwebsite'));
}
else {
$path .=
$GLOBALS['_PX_render']['m']->
news->
getPath();
echo sprintf ($path);
}
}
Faites la même chose avec la fontion pxLastResAssociatedLink, vous remplacer la première ligne par celle-ci, c'est important pour ne pas créer une confusion dans les liens et leur contenu respectif...
function pxLastResAssociatedLink($s = '%1$s')
Enfin, vous allez ajouter une nouvelle fonction...
function pxNewsAssociatedLink
($s=
'%1$s')
{
if (strlen($GLOBALS['_PX_render']['m']->
news->
f('news_titlewebsite')) >
0) {
echo sprintf($s,
$GLOBALS['_PX_render']['m']->
news->
f('news_linkwebsite'),
$GLOBALS['_PX_render']['m']->
news->
f('news_titlewebsite'));
}
else
{
$path .=
$GLOBALS['_PX_render']['m']->
news->
getPath();
echo sprintf ($path);
}
}
Quatrième étape
Ouvrez le fichier resource.news.php et remplacer la fonction d'affichage du titre de la brève
<?php pxResTitle(); ?>
par celle-ci
<a href="<?pxResAssociatedLink();?>"><?php pxResTitle(); ?></a>
Commentaire provisoire
Voilà, tout est fait. Dans le cas où aucun site internet n'est associé à la brève, le titre de celle-ci s'affichera quand-même, le seul "problème" c'est que ce titre restera un lien... vers lui-même...
Il est possible que la fonction soit intègrée à PLume 1.2 c'est pourquoi ce n'est pas très grave, mais il y aurait sûrement un moyen de simplement complèter la fonction de Joss avec une expression conditionelle stipulant de ne pas linker le titre si aucun site internet n'est associé à la brève.
Annexe
Soyons imaginatif, vous pouvez utiliser cette technique, pour lier le titre de la brève vers le téléchargement d'un fichier audio, le lancement d'une playlist winamp ou ram etc... Il vous suffira de crèer autant de fichiers templates que nécessaires.