fclb a écrit :
Cher Stephane,
J'ai transformé la boucle :
<BOUCLE_sousrubrique(RUBRIQUES){id_parent}{par num titre}{tout}>
[<span class="logo .spip_logos"(#LOGO_RUBRIQUE|rubexact{#ID_RUBRIQUE}
|reduire_image{100 0})</span>]
plutot
[<span class="logo .spip_logos">(#LOGO_RUBRIQUE||rubexact{#ID_RUBRIQUE}
|reduire_image{100 0})</span>]
ou meme directement :
[(#LOGO_RUBRIQUE||rubexact{#ID_RUBRIQUE}
|reduire_image{100 0})]
pas testé ...
le double | à cause de l'alignement attendu en premier filtre
<h2>[(#TITRE|supprimer_numero)]</h2>
[<span class="texte">(#TEXTE|justifier)</span>]
et "mes_options.php" qui est comme suit:
les filtres se mettent plutot dans mes_fonctions
<?php
$GLOBALS['champs_extra'] = array (
'auteurs'=>array (
'ville'=>'ligne|propre|ville',
),
);
function rubexact($texte,$id){
$pattern = ',rubon'.$id.'\.,';
if (preg_match($pattern, $$texte)) return $texte;
else return '';
}
j'ai pas testé le filtre et je suis une bille en regexp, mais l'idée, c'est de tester si la chaine renvoyée contient "rubonX." ou X est l'id courant.
si le logo a été cherché celui du parent, le X ne sera pas le bon et on retourne une chaine vide
c'est peut etre plutot :
$pattern = ',(.*)(rubon'.$id.'\.)(.*),';
la deuxieme solution (commenter les 2 lignes et place le fichier dans /squelettes), ca marche pas ?
sinon, voici une solution avec les modeles (version SVN à jour conseillée ...) :
dans squelettes/mes_fonctions.php :
function chercher_logo($id, $type='id_rubrique', $mode='on') {
$logo_f = charger_fonction('chercher_logo', 'inc');
$tab=$logo_f($id, $type, $mode);
return $tab[0];
}
dans squelettes/modeles/logo.html :
[<img src="(#ID_RUBRIQUE|chercher_logo{id_rubrique,on})"[ onmouseover="this.src='(#ID_RUBRIQUE|chercher_logo{id_rubrique,off})'" onmouseout="this.src='[(#ID_RUBRIQUE|chercher_logo{id_rubrique,on})]'" ]class="spip_logos" />]
et pour appeler le logo :
[(#MODELE{logo}{id_rubrique=#ID_RUBRIQUE})]
tu dois pouvoir passer tes filtres sans soucis.
pour bien faire, il faudrait gerer la taille du logo...
@++