modifier le code pour l'insertion de documents

Je met dans mes articles des images qui sont visible en miniature dans mon article, avec un lien dessus pour afficher l'agrandissement. Spip produit donc un code de ce type :

<div class='spip_documents spip_documents_center' ><a href='IMG/gif/C.Planche_XXXVII_-_Zodiaque.gif'><img src='IMG/gif/petite.gif'
      width='480'
      height='398'
      style='border-width: 0px;' alt="GIF - 215.6 ko" title="GIF - 215.6 ko" /></a></div>

Je voudrais modifier la ligne

<a href='IMG/gif/C.Planche_XXXVII_-_Zodiaque.gif'>

pour ajouter un bout de code javascript :

<a href='IMG/gif/C.Planche_XXXVII_-_Zodiaque.gif' OnClick='maFonction(this)'>

Qui me permettra d'utiliser cet effet : http://www.huddletogether.com/projects/lightbox/

Bref, c'est une modification mineure du code de spip, car je ne voit pas comment faire autrement que le modifier, spip gérant l'affichage de mes documents depuis (#TEXTE)

Pouvez vous m'indiquer le fichier (la ligne dans le meilleure des cas) ou spip gere cela ?

Merci d'avance !

Thomas wrote:

Je met dans mes articles des images qui sont visible en miniature dans mon article, avec un lien dessus pour afficher l'agrandissement. Spip produit donc un code de ce type :

<div class='spip_documents spip_documents_center' ><a href='IMG/gif/C.Planche_XXXVII_-_Zodiaque.gif'><img src='IMG/gif/petite.gif'
      width='480'
      height='398'
      style='border-width: 0px;' alt="GIF - 215.6 ko" title="GIF - 215.6 ko" /></a></div>

Je voudrais modifier la ligne

<a href='IMG/gif/C.Planche_XXXVII_-_Zodiaque.gif'>

pour ajouter un bout de code javascript :

<a href='IMG/gif/C.Planche_XXXVII_-_Zodiaque.gif' OnClick='maFonction(this)'>

Qui me permettra d'utiliser cet effet : http://www.huddletogether.com/projects/lightbox/

Bref, c'est une modification mineure du code de spip, car je ne voit pas comment faire autrement que le modifier, spip gérant l'affichage de mes documents depuis (#TEXTE)

Pouvez vous m'indiquer le fichier (la ligne dans le meilleure des cas) ou spip gere cela ?

Merci d'avance !

D'abord, remarque que pour utiliser ligtbox, il suffit de faire:
<a href="IMG/gif/C.Planche_XXXVII_-_Zodiaque.gif" rel="lightbox" title="...">....</a>

tu pourrais faire un filtre que tu appliques sur #TEXTE et qui ajoute le rel comme il faut:

function lightbox($texte) {

return preg_replace('/<a (.*)><img/U','<a rel="lightbox" \\1><img',$texte);

}

g testé, ça marche très bien :wink:

Sinon, si tu veux modifier le code, c'est quelque part dans ecrire/inc_document.php3 je pense.

Pierre

Pierre wrote:

return preg_replace('/<a (.*)><img/U','<a rel="lightbox"
\\1><img',$texte);

Salut !
Est-ce que le filtre inserer_attribut déjà inclus avec Spip ne marcherait
pas pour faire cela ?

[(#LOGO_DOCUMENT|inserer_attribut{'rel','lightbox'})] par exemple ?

Paolo

Paolo wrote:

Pierre wrote:

return preg_replace('/<a (.*)><img/U','<a rel="lightbox" \\1><img',$texte);

Salut !
Est-ce que le filtre inserer_attribut déjà inclus avec Spip ne marcherait pas pour faire cela ?

[(#LOGO_DOCUMENT|inserer_attribut{'rel','lightbox'})] par exemple ?

oui, certainement, mais là, si j'avais bien compris, on parlait des documents insérés dans le texte de l'article avec les raccourcis <img ou <doc

Pierre

Paolo wrote:

Pierre wrote:

return preg_replace('/<a (.*)><img/U','<a rel="lightbox" \\1><img',$texte);

Salut !
Est-ce que le filtre inserer_attribut déjà inclus avec Spip ne marcherait pas pour faire cela ?

[(#LOGO_DOCUMENT|inserer_attribut{'rel','lightbox'})] par exemple ?

Maintenant que j'y passe, ça ne va pas, en effet, l'attribut rel doit être sur le lien et pas sur l'image.

Perso, j'avais testé lightbox dans une boucle document comme cela:

[<a href="#URL_DOCUMENT" rel="lightbox">(#FICHIER|reduire_image{250}|inserer_attribut{'alt',#TITRE})</a>]

Voir mes tests de ce genre de librairies là:
http://6v8.gamboni.org/test-lang.php3

Pierre

Pierre wrote:

si j'avais bien compris, on parlait des
documents insérés dans le texte de l'article avec les raccourcis
<img ou <doc

Ah oui. En effet. Pardon!
P.