Vignettes et images de survol - commentaires Vignettes et images de survol - version 1.9.2 2007-03-22T13:36:54Z https://contrib.spip.net/Vignettes-et-images-de-survol#comment392311 2007-03-22T13:36:54Z <p>J'ai enfin réussi à le faire tourner sur SPIP 1.9.1 seulement<small class="fine d-inline"> </small>; sur 1.9.2 avec le nouveau script de Philippe, ça me plante la BDD</p> <p>Donc il faut faire attention de joindre à l'article un document ( qui sera l'image ) et dans le texte de l'article<small class="fine d-inline"> </small>! mettre la balise de l'image avec son numéro correspodant qui est donné au doc soit </p> <p>A bientôt pour de nouvelles aventures avec 1.9.2</p> <p>Stef</p> Vignettes et images de survol - version 1.9.2 2007-03-22T11:09:22Z https://contrib.spip.net/Vignettes-et-images-de-survol#comment392304 2007-03-22T11:09:22Z <p>J'utilise également la version 1.9.2 et la fonction telle quelle pour la version 1.9.1 ne fonctionnait pas.</p> <p>En fait, j'ai vu que dans cette nouvelle version de spip, l'organisation des répertoires pour les images est différentes. J'ai alors modifié le code de la fonction survol ainsi :</p> <blockquote class="spip"> <p> <a style="color:#0000FF;" rel='nofollow'>function survol($chaine) <i></i></a></p> <p><a style="color:#0000FF;" rel='nofollow'>$motif = « /< a href=\"IMG\/([^\"]+\.(jpg|gif|png))\"(.+)>< img src='local\/(cache-vignettes.+)\/([^']+\.(jpg|gif|png))'(.+)\/><\/a>/ »<small class="fine d-inline"> </small>;</a></p> <p><a style="color:#0000FF;" rel='nofollow'> <i></i></a><a style="color:#008000;" rel='nofollow'>//cherche la chaine $motif dans la chaine $chaine et renvoi les résultats dans la teableau $tabresult</a></p> <p><a style="color:#0000FF;" rel='nofollow'> preg_match_all ($motif, $chaine, $tabresult)<small class="fine d-inline"> </small>;</a></p> <p><a style="color:#0000FF;" rel='nofollow'> $to_return = $chaine<small class="fine d-inline"> </small>;</a></p> <p><a style="color:#0000FF;" rel='nofollow'> for ($i=0<small class="fine d-inline"> </small>; $i< count($tabresult[0])<small class="fine d-inline"> </small>; $i++) <i></i></a></p> <p><a style="color:#0000FF;" rel='nofollow'> $rep_off = $tabresult[4][$i]<small class="fine d-inline"> </small>;</a> <i><a style="color:#008000;" rel='nofollow'>// répertoire vignette</a></i></p> <p><a style="color:#0000FF;" rel='nofollow'> $img_off = $tabresult[5][$i]<small class="fine d-inline"> </small>;</a> <i><a style="color:#008000;" rel='nofollow'>// nom de fichier vignette</a></i></p> <p><a style="color:#0000FF;" rel='nofollow'> $rep_on = $tabresult[2][$i]<small class="fine d-inline"> </small>;</a> <i><a style="color:#008000;" rel='nofollow'>// répertoire image cible (survol)</a></i></p> <p><a style="color:#0000FF;" rel='nofollow'> $img_on = $tabresult[1][$i]<small class="fine d-inline"> </small>;</a> <i><a style="color:#008000;" rel='nofollow'>// nom de fichier image cible (survol)</a></i></p> <p><a style="color:#0000FF;" rel='nofollow'> $zesurvol = '< a href="javascript :<small class="fine d-inline"> </small>;">< img title="le survol avec le curseur de la souris (et un peu de patience) agrandit l\'image" style="border-width : 0px<small class="fine d-inline"> </small>;" class="spip_logos" alt="" src="local/'.$rep_off.'/'.$img_off.'" name="limage'.$i.'" onmouseover="document.limage'.$i.'.src = \'IMG/'.$img_on.'\'" onmouseout="document.limage'.$i.'.src = \'local/'.$rep_off.'/'.$img_off.'\'">< /a>'<small class="fine d-inline"> </small>;</a></p> <p><a style="color:#0000FF;" rel='nofollow'> $to_return = preg_replace(«<small class="fine d-inline"> </small><".$tabresult[0][$i]."><small class="fine d-inline"> </small>»,$zesurvol,$to_return)<small class="fine d-inline"> </small>;</a></p> <p><a style="color:#0000FF;" rel='nofollow'> </a><i><a style="color:#008000;" rel='nofollow'>//fin for</a></i></p> <a style="color:#0000FF;" rel='nofollow'> <p> return $to_return<small class="fine d-inline"> </small>;</p> <p></p> </a> <p><i><a style="color:#008000;" rel='nofollow'>// FIN du Filtre survol</a></i></p> <p><i></i></p> <a style="color:#FF0000;" rel='nofollow'> <p>NB : pour éviter l'interprétation des balises par l'éditeur de message, j'ai inséré des espaces entre le «<small class="fine d-inline"> </small><<small class="fine d-inline"> </small>» et le caractère suivant ainsi :<br class="autobr"> «<small class="fine d-inline"> </small>< a<small class="fine d-inline"> </small>», «<small class="fine d-inline"> </small>< img<small class="fine d-inline"> </small>», «<small class="fine d-inline"> </small>< /a<small class="fine d-inline"> </small>» doivent être écrit sans l'espace. </p> </a></blockquote> <p>Cela semble fonctionner, mais j'ai encore des cas où les images s'affichent aleatoirement (une fois oui, une fois non). Je me demande si cela est dû à mon hébergeur ou à l'écriture du code (je suis débutant en php et en expression régulière sous php). Si quelqu'un peut m'aider à améliorer le code merci d'avance.</p> Vignettes et images de survol 2007-03-20T10:33:42Z https://contrib.spip.net/Vignettes-et-images-de-survol#comment392228 2007-03-20T10:33:42Z <p>En fait j'ai spip 1.9.2, j'ai tout vérifié et tjrs pas de résultat</p> <p>désolé</p> Vignettes et images de survol 2007-03-17T14:03:43Z https://contrib.spip.net/Vignettes-et-images-de-survol#comment392132 2007-03-17T14:03:43Z <p>Pour du code, il me semble qu'il faut mettre le script entre [code] et [/code] (remplacer [] par <>). Pour le gras, utiliser les raccourcis typographiques proposés par l'interface ou mettre le texte entre doubles accolades.</p> Vignettes et images de survol 2007-03-17T13:05:48Z https://contrib.spip.net/Vignettes-et-images-de-survol#comment392129 2007-03-17T13:05:48Z <p>Comment faire pour mettre en valeur un code(script) en couleurs, gras, comme un peu plus bas dans cette page<small class="fine d-inline"> </small>!?</p> Vignettes et images de survol 2007-03-17T10:22:52Z https://contrib.spip.net/Vignettes-et-images-de-survol#comment392123 2007-03-17T10:22:52Z <p>As-tu vérifié que les images sont incluses dans ton article en tant que document (et pas en tant qu'image)<small class="fine d-inline"> </small>? Pour que le filtre fonctionne, il faut que les images aient été ajoutées à l'article avec la boite de dialogue «<small class="fine d-inline"> </small>JOINDRE UN DOCUMENT<small class="fine d-inline"> </small>» ou «<small class="fine d-inline"> </small>AJOUTER UN DOCUMENT<small class="fine d-inline"> </small>» et non pas «<small class="fine d-inline"> </small>AJOUTER UNE IMAGE<small class="fine d-inline"> </small>». Il faut aussi que ces images soient insérées dans l'article avec la bonne balise, c'est à dire quelque chose du type <code class="spip_code spip_code_inline" dir="ltr"><doc123></code> (et non <code class="spip_code spip_code_inline" dir="ltr"><img123></code>).</p> Vignettes et images de survol 2007-03-13T15:51:28Z https://contrib.spip.net/Vignettes-et-images-de-survol#comment391998 2007-03-13T15:51:28Z <p>Bonjour, désolé ça marche toujours pas<small class="fine d-inline"> </small>!<br class="autobr"> j'ai transféré spip chez free, je peux configurer le choix gd2 pour les vignettes<br class="autobr"> J'ai crée un fichier squelette mis le fichier mes_fonctions.php<br class="autobr"> avec la boucle « survol » :<br class="autobr"> <i></i></p> <pre><code style="color:#000000;"><span style="color:#0000BB;"><?php </span><span style="color:#FF8000;">/* * +----------------------------------+ * Nom du Filtre : survol * +----------------------------------+ * Date : vendredi 11 octobre 2006 * Auteur : vinzmich (vinzmich@yahoo.fr) * +-------------------------------------+ * Fonctions de ce filtre : * Remplace les vignettes et leurs liens par des vignettes dont l'image de survol est l'image en vraie grandeur. * Le filtre survol est à appliquer au texte, dans le squelette de l'article sous la forme [(#TEXTE|survol)] * +-------------------------------------+ * * Pour toute suggestion, remarque, proposition d'ajout * reportez-vous au forum de l'article : * http://www.uzine.net/spip_contrib/article.php3?id_article=1418 */ </span><span style="color:#007700;">function </span><span style="color:#0000BB;">survol</span><span style="color:#007700;">(</span><span style="color:#0000BB;">$chaine</span><span style="color:#007700;">) { </span><span style="color:#0000BB;">$motif </span><span style="color:#007700;">= </span><span style="color:#DD0000;">"/<a href=\"IMG\/(jpg|gif|png)\/([^\"]+\.(jpg|gif|png))\"(.+)><img src='IMG\/(cache.+)\/([^']+\.(jpg|gif|png))'(.+)\/><\/a>/"</span><span style="color:#007700;">; </span><span style="color:#FF8000;">//cherche la chaine $motif dans la chaine $chaine et renvoi les résultats dans la teableau $tabresult </span><span style="color:#0000BB;">preg_match_all </span><span style="color:#007700;">(</span><span style="color:#0000BB;">$motif</span><span style="color:#007700;">, </span><span style="color:#0000BB;">$chaine</span><span style="color:#007700;">, </span><span style="color:#0000BB;">$tabresult</span><span style="color:#007700;">); </span><span style="color:#0000BB;">$to_return </span><span style="color:#007700;">= </span><span style="color:#0000BB;">$chaine</span><span style="color:#007700;">; for (</span><span style="color:#0000BB;">$i</span><span style="color:#007700;">=</span><span style="color:#0000BB;">0</span><span style="color:#007700;">; </span><span style="color:#0000BB;">$i</span><span style="color:#007700;">< </span><span style="color:#0000BB;">count</span><span style="color:#007700;">(</span><span style="color:#0000BB;">$tabresult</span><span style="color:#007700;">[</span><span style="color:#0000BB;">0</span><span style="color:#007700;">]); </span><span style="color:#0000BB;">$i</span><span style="color:#007700;">++) { </span><span style="color:#0000BB;">$rep_on </span><span style="color:#007700;">= </span><span style="color:#0000BB;">$tabresult</span><span style="color:#007700;">[</span><span style="color:#0000BB;">1</span><span style="color:#007700;">][</span><span style="color:#0000BB;">$i</span><span style="color:#007700;">]; </span><span style="color:#FF8000;">// 1ère parenthèse capturante : répertoire image cible (survol) </span><span style="color:#0000BB;">$img_on </span><span style="color:#007700;">= </span><span style="color:#0000BB;">$tabresult</span><span style="color:#007700;">[</span><span style="color:#0000BB;">2</span><span style="color:#007700;">][</span><span style="color:#0000BB;">$i</span><span style="color:#007700;">]; </span><span style="color:#FF8000;">// 2ème parenthèse capturante : nom de fichier image cible (survol) </span><span style="color:#0000BB;">$rep_off </span><span style="color:#007700;">= </span><span style="color:#0000BB;">$tabresult</span><span style="color:#007700;">[</span><span style="color:#0000BB;">5</span><span style="color:#007700;">][</span><span style="color:#0000BB;">$i</span><span style="color:#007700;">]; </span><span style="color:#FF8000;">// 5ème parenthèse capturante : répertoire vignette </span><span style="color:#0000BB;">$img_off </span><span style="color:#007700;">= </span><span style="color:#0000BB;">$tabresult</span><span style="color:#007700;">[</span><span style="color:#0000BB;">6</span><span style="color:#007700;">][</span><span style="color:#0000BB;">$i</span><span style="color:#007700;">]; </span><span style="color:#FF8000;">// 6ème parenthèse capturante : nom de fichier vignette </span><span style="color:#0000BB;">$zesurvol </span><span style="color:#007700;">= </span><span style="color:#DD0000;">'<a href="javascript:;"><img title="patience, l\'image en vraie grandeur va s\'ouvrir..." style="border-width: 0px;" class="spip_logos" alt="" src="IMG/'</span><span style="color:#007700;">.</span><span style="color:#0000BB;">$rep_off</span><span style="color:#007700;">.</span><span style="color:#DD0000;">'/'</span><span style="color:#007700;">.</span><span style="color:#0000BB;">$img_off</span><span style="color:#007700;">.</span><span style="color:#DD0000;">'" name="limage'</span><span style="color:#007700;">.</span><span style="color:#0000BB;">$i</span><span style="color:#007700;">.</span><span style="color:#DD0000;">'" onmouseover="document.limage'</span><span style="color:#007700;">.</span><span style="color:#0000BB;">$i</span><span style="color:#007700;">.</span><span style="color:#DD0000;">'.src = \'IMG/'</span><span style="color:#007700;">.</span><span style="color:#0000BB;">$rep_on</span><span style="color:#007700;">.</span><span style="color:#DD0000;">'/'</span><span style="color:#007700;">.</span><span style="color:#0000BB;">$img_on</span><span style="color:#007700;">.</span><span style="color:#DD0000;">'\'" onmouseout="document.limage'</span><span style="color:#007700;">.</span><span style="color:#0000BB;">$i</span><span style="color:#007700;">.</span><span style="color:#DD0000;">'.src = \'IMG/'</span><span style="color:#007700;">.</span><span style="color:#0000BB;">$rep_off</span><span style="color:#007700;">.</span><span style="color:#DD0000;">'/'</span><span style="color:#007700;">.</span><span style="color:#0000BB;">$img_off</span><span style="color:#007700;">.</span><span style="color:#DD0000;">'\'"></a>'</span><span style="color:#007700;">; </span><span style="color:#0000BB;">$to_return </span><span style="color:#007700;">= </span><span style="color:#0000BB;">preg_replace</span><span style="color:#007700;">(</span><span style="color:#DD0000;">"<"</span><span style="color:#007700;">.</span><span style="color:#0000BB;">$tabresult</span><span style="color:#007700;">[</span><span style="color:#0000BB;">0</span><span style="color:#007700;">][</span><span style="color:#0000BB;">$i</span><span style="color:#007700;">].</span><span style="color:#DD0000;">">"</span><span style="color:#007700;">,</span><span style="color:#0000BB;">$zesurvol</span><span style="color:#007700;">,</span><span style="color:#0000BB;">$to_return</span><span style="color:#007700;">); }</span><span style="color:#FF8000;">//fin for </span><span style="color:#007700;">return </span><span style="color:#0000BB;">$to_return</span><span style="color:#007700;">; } </span><span style="color:#FF8000;">// FIN du Filtre survol </span><span style="color:#0000BB;">?></span></code></pre> <p>J'ai mis aussi un fichier rubrique.html et un fichier article.html<br class="autobr"> J'ai remplacé #TEXTE par <abbr title="survol)">(#TEXTE</abbr> dans article.html dans une div « texte »</p> <div id="texte"> <h1>#TITRE</h1> <p><abbr title="survol)">(#TEXTE</abbr></p> <p> </p> <div class="spip_logos"> <br> <abbr title="#URL_DOCUMENT)">(#LOGO_DOCUMENT</abbr><br> <abbr title="supprimer_numero)">(#TITRE</abbr><br> [(#DESCRIPTIF)] <br> </div> <p><br class="autobr"> <br class="autobr"> </p> <p> </p> <p> </p> </div> <p></p> <p>Au secours<small class="fine d-inline"> </small>! Merci</p> Vignettes et images de survol 2007-03-09T17:33:09Z https://contrib.spip.net/Vignettes-et-images-de-survol#comment391869 2007-03-09T17:33:09Z <p>En local avec EasyPHP, je n'ai pas non plus accès au choix gd1 ou gd2. Et j'ai le même comportement que toi : une vignette cliquable, qui ouvre l'image vraie grandeur dans une nouvelle fenêtre.</p> <p>Sur mon site hébergé chez free, j'ai choisi une génération de vignette par la méthode gd2 et tout fonctionne bien.</p> <p>Tu peux aussi t'assurer que « Générer automatiquement les miniatures des images. » est bien coché.</p> Vignettes et images de survol 2007-03-09T12:42:44Z https://contrib.spip.net/Vignettes-et-images-de-survol#comment391855 2007-03-09T12:42:44Z <p>Bonjour winzmick</p> <p>J'ai suivi tes conseils, merci, mais ça ne fonctionne pas.</p> <p>J'ai crée un repertoire squelettes mis articles.html, rubrique.html mon css et le fichier mes_fonctions.php dans lequel j'ai collé le contenu du fichier dézippé "survol"</p> <p>J'ai la main sur la vignette qui ouvre une page avec l'image grandeur nature</p> <p>Je travaille en local sur EasyPHP et quand je vais à la cofiguration des vignettes dans spip je n'ai pas d'aperçu, le problème vient-il de là</p> <p>Voilà ce que j'ai comme indication ( j'ai choisi convert sinon la vignette n'apparait pas)</p> <p>Veuillez sélectionner la meilleure méthode de fabrication des vignettes en cliquant sur l'image correspondante.</p> <p>netpbm</p> <p>convert</p> <p>N.B. Si aucune image n'apparaît, alors le serveur qui héberge votre site n'a pas été configuré pour utiliser de tels outils. Si vous souhaitez utiliser ces fonctions, contactez le responsable technique et demandez les extensions «<small class="fine d-inline"> </small>GD<small class="fine d-inline"> </small>» ou «<small class="fine d-inline"> </small>Imagick<small class="fine d-inline"> </small>».</p> <p>Merci pour ton avis</p> <p>Stéf</p> Vignettes et images de survol 2007-03-07T22:09:27Z https://contrib.spip.net/Vignettes-et-images-de-survol#comment391786 2007-03-07T22:09:27Z <p>Bonjour Stef,</p> <p>Effectivement, s'il n'existe pas, il faut créer le répertoire squelettes à la racine du site (tu peux alors y mettre tes squelettes perso, par exemple adaptés à partir des squelettes pas défaut qui se trouvent dans le dossier dist).</p> <p>Pareil pour le fichier mes_fonctions.php : le créer s'il n'existe pas, le placer dans le répertoire squelettes.</p> Vignettes et images de survol 2007-03-07T21:37:52Z https://contrib.spip.net/Vignettes-et-images-de-survol#comment391781 2007-03-07T21:37:52Z <p>Je débute avec SPIP, j'ai téléchargé 1.9.1 mais je ne vois pas de dossier squelettes, faut-il le créer<small class="fine d-inline"> </small>? et où se trouve le fichier mes_fonctions.php</p> <p>Merci de votre aide</p> Très prometteur mais j'y arrive pas... suite 2006-10-31T17:14:20Z https://contrib.spip.net/Vignettes-et-images-de-survol#comment388404 2006-10-31T17:14:20Z <p>j'ai parlé trop vite, le survol marche très bien sur Firefox mais avec Explorer 6 l'image « saute » et décale toute la mise en page. (testé sur Linux et Win XP)</p> <p>catherine</p> Très prometteur mais j'y arrive pas... finalement si 2006-10-30T19:52:53Z https://contrib.spip.net/Vignettes-et-images-de-survol#comment388364 2006-10-30T19:52:53Z <p>Ca y est j'ai réussi. Je pense que je n'avais pas bien copié/collé le code de mes_fonctions.php,</p> <p>C'est très bien comme résultat (trouve-je) : <a href="http://www.stadeleonardkreisker.fr/spip.php?article20" class="spip_url spip_out auto" rel="nofollow external">http://www.stadeleonardkreisker.fr/spip.php?article20</a></p> <p>merci<br class="autobr"> dd</p> Très prometteur mais j'y arrive pas 2006-10-30T09:18:03Z https://contrib.spip.net/Vignettes-et-images-de-survol#comment388346 2006-10-30T09:18:03Z <p>Bonjour,</p> <p>C'est effectivement dans le dossier squelettes qu'il faut mettre mes_fonctions.php pour SPIP 1.9 => je vais modifier l'article pour apporter cette correction.</p> <p>Pour l'instant je ne comprends pas pourquoi ça ne fonctionne pas chez toi. Dans un 1<sup class="typo_exposants">er</sup> temps (ça parait idiot mais on ne sait jamais) vérifie bien l'orthographe de la fonction survol à la fois dans le squelette article.html et dans mes_fonctions.php. Et aussi la syntaxe de ce fichier php (les balises, les accolades de la fonction, etc.) et de l'article (<code class="spip_code spip_code_inline" dir="ltr">[(#TEXTE|survol)]</code>).<br class="autobr"> Si tu le souhaites, envoie-moi un message en utilisant <a href="http://www.spip-contrib.net/_vinzmich_" class="spip_out" rel='nofollow external'>ce lien</a> pour qu'on puisse éventuellement échanger des fichiers par courriel.</p> Très prometteur mais j'y arrive pas 2006-10-29T18:42:45Z https://contrib.spip.net/Vignettes-et-images-de-survol#comment388333 2006-10-29T18:42:45Z <p>J'essaie d'implémenter cette fonction sur un site en 1.9.1 mais le résultat n'est pas au rendez-vous :</p> <p>je mets le fichier mes_fonctions.php dans le dossier squelettes (et pas à la racine) et le fitre <abbr title="survol)">(#TEXTE</abbr> sur le squelette ARTICLE</p> <p>et je me retrouve avec cette erreur pour les articles :<br class="autobr"> Fatal error : Call to undefined function : survol() in /home/www/monsite/www/ecrire/public/composer.php(48) : eval()'d code on line 887</p> <p>je crois qu'il y a un problème de chemin.</p> <p>Si je mets mes_fonctions.php à la racine ca ne marche pas non plus -> pas de fonction SURVOL connue<br class="autobr"> (là je crois que c'est normal).</p> <p>catherine</p>