21 août 2005 — Attention, depuis la parution de la version 1.8.2 de SPIP, cet article est obsolète : il règle un problème qui n’existe plus. Cette page est conservée pour mémoire.
La version 1.8 de SPIP ne permet pas de différencier les marges latérales des images incluses dans du texte en fonction de l’alignement choisi pour ces images. Il n’est par exemple pas possible de faire en sorte qu’une image alignée à droite ait une marge de droite nulle et une marge gauche non nulle, et inversément.
Voici une solution peu-élégante mais très facile à mettre en place qui permet d’obtenir l’effet recherché, comme par exemple ici.
1. Placez le filtre suivant dans le fichier mes_fonctions.php3
;
// Permet de différencier les marges gauche et droite des images incluses
// Auteur: François Schreuer - francois@schreuer.org
// Licence: GPL
function rectifier_marges_images($texte) {
$texte = str_replace("class='spip_documents' style='float: left;",
"class='spip_documents_left' style='float: left;",$texte);
$texte = str_replace("class='spip_documents' style='float: right;",
"class='spip_documents_right' style='float: right;",$texte);
return $texte;
}
2. Ajoutez la définition des classes spip_documents_left
et spip_documents_right
dans votre feuille de style, par exemple de la façon suivante :
.spip_documents_left {
margin-right: 0.5em;
margin-bottom: 0.5em;
}
.spip_documents_right {
margin-left: 0.5em;
margin-bottom: 0.5em;
}
3. Appelez le filtre sur tous les champs dans lesquels des images sont incluses :
[(#TEXTE|rectifier_marges_images)]
4. Pour l’insertion de vos images dans les champs texte de SPIP, utilisez le raccourci <docxxx|right>
ou <docxxx|left>
où xxx est le numéro de l’image (et non <imgxxx|right>
).
Discussions par date d’activité
3 discussions
dans mes_fonctions.php3 :
Je sais, ça ressemble beaucoup à ce que propose François Schreuer mais j’ai pas dû tout comprendre. Chez moi, les images dans le texte deviennent simplement des sans classe. En tout cas, cette exemple est fonctionne bien chez moi.
Salut,
Après avoir essayer ta solution, j’ai remarquer qu’elle ne fonctionnait pas sur mon spip 1.8.1.
voilà le code corrigé :
ensuite, il suffit d’avoir ces style dans la CSS :
Voilà, j’espere que ca pourra aider !
Répondre à ce message
Je viens d’installer [Spip 1 8 2g] et j’ai des problèmes avec les marges des images donc cet article m’intéresse fort ;-)
Mais j’aimerais savoir, avant de l’utiliser, pourquoi vous dites que tout cela est réglé avec [Spip 1 8 2g] ?
J’ai cherché et n’ai encore pas trouvé de réponse à cette question, c’est pourquoi j’ose vous la poser...
Pardon si elle est naïve...
Merci d’avance de m’éclairer ;-)
Répondre à ce message
Hello,
comprends pas ca ne fonctionne absolument pas chez moi ?
copier coller du script dans mes_fonctions
(#CHAPO
[(#TEXTE|justifier|rectifier_marges_images)]
dans mon squelette ...
ma feuille de style
.spip_documents_left
margin-right : 0.5em ;
margin-bottom : 0.5em ;
.spip_documents_right
margin-left : 0.5em ;
margin-bottom : 0.5em ;
et voici la réponse code source
comme s’il n’y avait aucun filtre ?
Si vous avez une idée ?
Merci beaucoup d’anvance
penchaki
Salut,
Tout d’abord, je vous suggère d’utiliser les balises
<cadre></cadre>
ou<code>
pour citer du code, sinon on sait rien lire et ça explose la mise en page du site.Je viens de refaire pas à pas l’installation, soit :
mes_fonctions.php3
Et ça marche parfaitement.
Je viens de faire ça avec la version CVS pour être sûr que ça passait. Ca passe. J’avais également testé ce code sur une version 1.8.
Quelle version de SPIP utilisez-vous ?
François
Ok, j’ai compris pourquoi ça ne marche pas. Vous devez appelez les images en mode « documents » et pas en mode image. C’est-à-dire écrire dans vos champs spip
<doc678|right>
au lieu de<img678|right>
, qu’il y ait ou non un titre ou une légende liés à cette image. L’explication, c’est que SPIP renvoie juste l’image quand on appele <img... alors qu’il renvoie un div quand on appelle l’image en mode « document ». Et comme c’est sur le div qu’on intervient,...Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
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.
Suivre les commentaires : |