Une icône par catégorie
Par Fab,
lundi 18 octobre 2004 à 21:32 :: Dotclear
:: #4
Naviguants de liens en liens à partir du forum de dotclear, je suis tombé sur le blog de Lithium, qui indique comment ajouter une icône par auteur dans la liste des billets
J'ai trouvé l'idée très intéressante, sauf qu'étant seul rédacteur sur mon blog, il me parraissait plus utile de mettre une icône par catégorie 
La modification est donc semblable à celle proposée par Lithium, à la différence près qu'il n'existe pas de fonction toute faite pour accéder au nom de la catégorie dans le fichier function.php (ou alors, il est possible d'y accéder par un autre moyen, que je ne connais pas
). Quand je dis nom de la catégorie
, j'entend plutôt son nom d'url, car étant donné que le nom complêt peut contenir des espace, des caractères accentués, etc... je pense qu'il est préférable d'utiliser le nom d'url.
J'ai remarqué qu'il existait une fonction dans functions.php qui permettait de récupérer l'url complète de la catégorie (sous la forme /index.php/.....), et c'est sur cette fonction que je me suis basé pour récupérer uniquement le nom d'url. Voici donc une petite fonction à placer dans le function.php:
<?php
function dcPostCatRealTitle()
{
$temp_array = explode("/",$GLOBALS['news']->getCatURL());
echo $temp_array[count($temp_array)-1];
}
?>
C'est pratiquement tout ce qu'il y à faire... Il ne reste plus qu'à se servir de ce nom d'url pour afficher soit une image en rapport avec la catégorie, soit une classe css (méthode préconnisée par Lithium). Pour ma part j'ai préféré afficher une image se nommant icon_nom_cat.png, placé dans le répertoire themes/nom_theme/images/icons, cela évite simplement de faire plusieurs classes css, mais c'est à mon avis purement subjectif 
<div class="post-content" <?php dcPostLang(); ?>">
<span class="icon">
<img src="/themes/perso/images/icons/icon_<?php dcPostCatRealTitle(); ?>.png" alt="icone categorie" />
</span>
<?php dcPostAbstract('%s'); ?>
</div>
Il ne reste plus désormais qu'à créer les images adéquates, dans le répertoire voulu, et à créer un style css pour la classe icon.
div.post .icon {
height: 32px;
width: 32px;
float: right;
margin: 0px 0px 5px 5px;
}
L'élément important dans ce css, est à mon avis le float: right; qui permet de placer l'icône en haut à droite du billet, le reste étant adaptable selon vos besoins
.
Etant encore un nouvel utilisateur de dotclear mettant petit à petit son blog en place, il se peut, comme pour les autres billets concernant dotclear, que je n'utilise pas la meilleur façon de procéder pour les modifications, mais si je trouve mieux, je mettrais à jour mes billets, il n'y a pas de problème
.





Commentaires
1. Le samedi 5 mars 2005 à 18:46, par manchô
2. Le mardi 15 mars 2005 à 17:53, par Pac
3. Le lundi 21 mars 2005 à 20:10, par Fab :: site
4. Le vendredi 20 mai 2005 à 14:17, par gesim :: site
5. Le lundi 23 mai 2005 à 23:23, par Fab :: site
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.