Filtre nomargin pour la balise #LOGO

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Enlevez les marges des images générées par Spip.

Lorsque l’on affiche le logo d’une rubrique, le logo d’un article ou la vignette d’un document, Spip attribue automatiquement une marge de trois pixels en hauteur et en largeur à l’image en question. Ces paramètres sont attribués à même le code HTML et cela peut être agaçant si on tente de modifier leur affichage par CSS.

La méthode la plus simple

J’avais conçu ce filtre pour retirer ces marges de force. Depuis, j’ai découvert une façon encore plus simple de modifier les marges par défaut des logos.

Il suffit de placer la ligne suivante dans le fichier mes_fonctions.php3 :

$GLOBALS['espace_logos'] = 0;

C’est tout ! Vous pouvez aussi remplacer le zéro par la largeur (en pixels) de la marge désiré.

Pour plus d’information sur le fichier mes_fonctions et sur les variables de personnalisation, veuillez consulter le manuel officiel de Spip.

Installer le filtre |nomargin

Si la solution cité plus haut ne vous convient pas, ou si vous utilisez une version de Spip antérieure à la 1.6, je vous invite à suivre les instructions suivantes pour installer le filtre |nomargin :

1) Copier le code suivant dans le fichier mes_fonctions.php3 à la racine de votre site.

(Voir au bas de la page « Les filtres de SPIP » pour plus d’information sur le fichier mes_fonctions.php3.)

/*
 *   +----------------------------------+
 *    Nom du Filtre :    nomargin                                              
 *   +----------------------------------+
 *    Date : mercredi 21 janvier 2003
 *    Auteur :  Thierry Gagnon (info a thierrygagnon point com)                                   
 *   +-------------------------------------+
 *    Fonctions de ce filtre :
 *     Il retire de la vignette d'un logo les propriétés d'espacement horizontale et verticales qu'ajoute Spip. Il place aussi le titre du document dans le ALT de la vignette. (noMargin = pas de marge)
	
 *   +-------------------------------------+ 
 *  
 * Pour toute suggestion, remarque, proposition d'ajout
 * reportez-vous au forum de l'article :
 * http://www.uzine.net/spip_contrib/article.php3?id_article=304
*/

function nomargin($texte) {
  $texte = (ereg_replace("hspace='3'","",$texte)); //Enlève la marge horizontale
  $texte = (ereg_replace("vspace='3'","",$texte)); //Enlève la marge verticale
return $texte;
}

//fin nomargin

2) Placer le filtre dans la balise du logo. Parce que le logo s’attends à ce que le premier filtre indique un hyperlien, il faut le mettre en deuxième.

Voici comment l’utiliser si vous n’ajoutez pas d’hyperlien dans la balise :

[(#LOGO_ARTICLE||nomargin)]

Remarquez les deux barrez verticales ( || ) entre ARTICLE et logo. Si vous voulez joindre un hyperlien à votre logo, placez-le entre ces deux barres. Si vous n’utilisez qu’une seule barre le premier filtre ne sera pas appliqué et sera utilisé comme hyperlien.

Vous pouvez ensuite modifier l’apparence de votre logo (marges, encadrement, etc.) en définissant un style « .spip_logo » dans votre feuille de style.

Solution « sans filtre »

On peut aussi circonvenir le problème des marges appliquées par Spip en bâtissant sois-même le logo de son article. Il n’est donc plus nécessaire d’utiliser de filtre compliqué.

Voici donc un exemple de logo utilisant des balises SPIP intégrées dans du HTML :

<a href="#URL_ARTICLE"><img src="[./IMG/(#LOGO_ARTICLE|fichier)]" border="0" alt="[venez voir mon article n #ID_ARTICLE)]" class="spip_logo"></a>

Les deux solutions offertes ici (avec et sans filtre) proposent d’utiliser un style CSS personnalisé nommé « spip_logo ». Cette classe n’existe pas par défaut et vous devez la créer vous-même.

En guise d’exemple, voici une définition pour le style spip_logo que vous pourriez insérer entre les balises

et

de vos pages :

<style type="text/css">
<!--
.spip_logo {
	border: 1px solid #000000;
	margin: 2px;
	float: left;

}
-->
</style>

Ce style applique une bordure (border) noire de un pixel et une marge (margin) de deux pixels de chaque côté de l’image. Elle indique aussi à l’image de se placer à gauche des éléments qui la suivent (float) et de laisser ces éléments se placer sous elle au besoin si il y a débordement.

Pour plus d’information sur les styles CSS, incluant comment utiliser des feuilles de styles externes, je vous suggère de lire sur ce sujet sur des sites spécialisés comme AllHTML.

Thierry Gagnon
Studio Eau Moirée

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom