Yannick a écrit :
Bonsoir,
Lorsqu'on insère un document dans un article, Spip affiche l'icone correspondante.
Mais je ne souhaite pas que cette icone s'affiche. Après recherche sur le web, je n'ai trouvé que des solutions consistant à agir dans un fichier source de Spip, ce que j'aurais aimé éviter pour faciliter les migrations de versions successives.
Tu peux utiliser le point d'entrée plugin apres_propre(); de spip, et y mettre un code de regex en php qui fait le ménage en effacant les logos de documents. Ensuite tu emballe ca dans un plugin qui fera le menage si activé.
Je m'en étais fait un pour spip listes une fois mais qui ne passe pas par après_propre donc je te le joins pour te donner une idée des regex (cf bas de mail), mais il faudra que tu regarde le plugin smiley pour voir l'utilisation des points d'entrée plugin.
Sinon, tu peux également tenter le superbe plugin "modèles" (spip svn) qui est une sorte de bombe atomique préfigurant spip 2.
L'idée est de squeletetiser tout ce qui est <(art|doc|breve|img|emb)xx>
Et oui vous ne revez pas même <breve21|left> dans un article vous cole un encart avec la breve dedans.
Donc bref pour tes documents avec le plugin modèle tu as un squelette qui correspond à <docXX>.
Et voilà,
BoOz
/****
* titre : propre_bloog
* Enleve les enluminures Spip pour la bloogletter
Vincent CARON
****/
function propre_bloog($texte) {
$texte = ereg_replace("<p class=\"spip\">(\r\n|\n|\r)?</p>",'',$texte);
$texte = eregi_replace("\n{3}", "\n", $texte);
// div imbrique dans un p
$texte = eregi_replace( "<p class=\"spip\">(\r\n|\n|\r| )*<div([^>]*)>" , "<div\\2>" , $texte);
$texte = eregi_replace( "<\/div>(\r\n|\n|\r| )*<\/p>" , "</div>" , $texte);
// style imbrique dans un p
$texte = eregi_replace( "<p class=\"spip\">(\r\n|\n|\r| )*<style([^>]*)>" , "<style>" , $texte);
$texte = eregi_replace( "<\/style>(\r\n|\n|\r| )*<\/p>" , "</style>" , $texte);
// h3 imbrique dans un p
$texte = eregi_replace( "<p class=\"spip\">(\r\n|\n|\r| )*<h3 class=\"spip\">" , "<h3>" , $texte);
$texte = eregi_replace( "<\/h3>(\r\n|\n|\r| )*<\/p>" , "</h3>" , $texte);
// h2 imbrique dans un p
$texte = eregi_replace( "<p class=\"spip\">(\r\n|\n|\r| )*<h2>" , "<h2>" , $texte);
$texte = eregi_replace( "<\/h2>(\r\n|\n|\r| )*<\/p>" , "</h2>" , $texte);
// h1 imbrique dans un p
$texte = eregi_replace( "<p class=\"spip\">(\r\n|\n|\r| )*<h1>" , "<h1>" , $texte);
$texte = eregi_replace( "<\/h1>(\r\n|\n|\r| )*<\/p>" , "</h1>" , $texte);
// tableaux imbriques dans p
$texte = eregi_replace( "<p class=\"spip\">(\r\n|\n|\r| )*<(table|TABLE)" , "<table" , $texte);
$texte = eregi_replace( "<\/(table|TABLE)>(\r\n|\n|\r| )*<\/p>" , "</table>" , $texte);
// TD imbriques dans p
$texte = eregi_replace( "<p class=\"spip\">(\r\n|\n|\r| )*<(\/td|\/TD)" , "</td" , $texte);
//$texte = eregi_replace( "<\/(td|TD)>(\r\n|\n|\r| )*<\/p>" , "</td>" , $texte);
// p imbriques dans p
$texte = eregi_replace( "<p class=\"spip\">(\r\n|\n|\r| )*<(p|P)" , "<p" , $texte);
//$texte = eregi_replace( "<\/(td|TD)>(\r\n|\n|\r| )*<\/p>" , "</td>" , $texte);
// DIV imbriques dans p
$texte = eregi_replace( "<p class=\"spip\">(\r\n|\n|\r| )*<(div|DIV)" , "<div" , $texte);
$texte = eregi_replace( "<\/(DIV|div)>(\r\n|\n|\r| )*<\/p>" , "</div>" , $texte);
//$texte = PtoBR($texte);
$texte = ereg_replace ("\.php3 \?",".php3?", $texte);
$texte = ereg_replace ("\.php \?",".php?", $texte);
return $texte;
}