Affichage logo rubrique sinon rien !

Bonsoir,
Spip 1.9.2d

Problème simple, sans doute déjà traité, recherches effectuées … pas trouvé de réponses satisfaisantes…

Je voudrais insérer dans le squelette de mes articles le logo de la rubrique contenant les articles.
Mais je ne veux pas que la recherche de ce logo remonte la hiérarchie pour les rubriques ne disposant pas de logo.
Or cela semble être le fonctionnement « natif » de SPIP :

  • si la rubrique possède un logo, ce dernier s’affiche.
  • si la rubrique ne possède pas de logo, SPIP va chercher un logo dans la hiérarchie supérieure de la rubrique.

Ce que je voudrais faire c’est :

  • si la rubrique contenant l’article est affectée d’un logo, celui-ci s’affiche.
  • si la rubrique … n’a pas de logo dédié, il faut que RIEN ne s’affiche !

Cela peut-il se faire… facilement … ?

@+
Luc

Le 2 juin 09 à 20:47, Luc Mamin a écrit :

Bonsoir,
Spip 1.9.2d

Problème simple, sans doute déjà traité, recherches effectuées ... pas trouvé de réponses satisfaisantes...

Je voudrais insérer dans le squelette de mes articles le logo de la rubrique contenant les articles.
Mais je ne veux pas que la recherche de ce logo remonte la hiérarchie pour les rubriques ne disposant pas de logo.
Or cela semble être le fonctionnement "natif" de SPIP :
- si la rubrique possède un logo, ce dernier s'affiche.
- si la rubrique ne possède pas de logo, SPIP va chercher un logo dans la hiérarchie supérieure de la rubrique.

Ce que je voudrais faire c'est :
- si la rubrique contenant l'article est affectée d'un logo, celui-ci s'affiche.
- si la rubrique ... n'a pas de logo dédié, il faut que RIEN ne s'affiche !

Cela peut-il se faire... facilement ... ?

@+
Luc

du genre :

[(#LOGO_RUBRIQUE*||?{'#LOGO_RUBRIQUE',''})]
je ne suis plus sur pour l'ordre ni pour l'étoile
Claude

dlatr a écrit :

Le 2 juin 09 à 20:47, Luc Mamin a écrit :

Bonsoir,
Spip 1.9.2d

Problème simple, sans doute déjà traité, recherches effectuées ... pas trouvé de réponses satisfaisantes...

Je voudrais insérer dans le squelette de mes articles le logo de la rubrique contenant les articles.
Mais je ne veux pas que la recherche de ce logo remonte la hiérarchie pour les rubriques ne disposant pas de logo.
Or cela semble être le fonctionnement "natif" de SPIP :
- si la rubrique possède un logo, ce dernier s'affiche.
- si la rubrique ne possède pas de logo, SPIP va chercher un logo dans la hiérarchie supérieure de la rubrique.

Ce que je voudrais faire c'est :
- si la rubrique contenant l'article est affectée d'un logo, celui-ci s'affiche.
- si la rubrique ... n'a pas de logo dédié, il faut que RIEN ne s'affiche !

Cela peut-il se faire... facilement ... ?

@+
Luc

du genre :

[(#LOGO_RUBRIQUE*||?{'#LOGO_RUBRIQUE',''})]
je ne suis plus sur pour l'ordre ni pour l'étoile
Claude

Ou tout simplement :

[(#LOGO_RUBRIQUE)]

ou s'il y a des balises HTML qui vont avec :

[<div id="logo">(#LOGO_RUBRIQUE)</div>]

Bernard

voici un hack qui contourne les automatismes de SPIP :

Nous utilison des JPG comm logos.

<BOUCLE_art(ARTICLES){id_article}>
<BOUCLE_rub(RUBRIQUES){id_rubrique}>
  <img src="IMG/rubon#ID_RUBRIQUE.jpg">
</BOUCLE_rub>
#TITRE blabla
</BOUCLE_art>

klaus++

Luc Mamin schrieb:

Bonsoir,
Spip 1.9.2d

Problème simple, sans doute déjà traité, recherches effectuées ... pas trouvé de réponses satisfaisantes...

Je voudrais insérer dans le squelette de mes articles le logo de la rubrique contenant les articles.
Mais je ne veux pas que la recherche de ce logo remonte la hiérarchie pour les rubriques ne disposant pas de logo.
Or cela semble être le fonctionnement "natif" de SPIP :
- si la rubrique possède un logo, ce dernier s'affiche.
- si la rubrique ne possède pas de logo, SPIP va chercher un logo dans la hiérarchie supérieure de la rubrique.

Ce que je voudrais faire c'est :
- si la rubrique contenant l'article est affectée d'un logo, celui-ci s'affiche.
- si la rubrique ... n'a pas de logo dédié, il faut que RIEN ne s'affiche !

Cela peut-il se faire... facilement ... ?

@+
Luc

------------------------------------------------------------------------

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip

Bonjour,

Luc Mamin schrieb:
> Bonsoir,
> Spip 1.9.2d
>
> Problème simple, sans doute déjà traité, recherches effectuées ... pas
> trouvé de réponses satisfaisantes...
>
> Je voudrais insérer dans le squelette de mes articles le logo de la
> rubrique contenant les articles.
> Mais je ne veux pas que la recherche de ce logo remonte la hiérarchie
> pour les rubriques ne disposant pas de logo.
> Or cela semble être le fonctionnement "natif" de SPIP :
> - si la rubrique possède un logo, ce dernier s'affiche.
> - si la rubrique ne possède pas de logo, SPIP va chercher un logo dans
> la hiérarchie supérieure de la rubrique.
>
> Ce que je voudrais faire c'est :
> - si la rubrique contenant l'article est affectée d'un logo, celui-ci
> s'affiche.
> - si la rubrique ... n'a pas de logo dédié, il faut que RIEN ne s'affiche !
>
> Cela peut-il se faire... facilement ... ?
>
> @+
> Luc

Voilà ce que j'utilise :
////////////////////////////
#SET{logoar,#LOGO_ARTICLE_NORMAL|fichier|ap_test_logo{#ID_ARTICLE}}
[(#GET{logoar}|?{' ',''})
[(#LOGO_ARTICLE||reduire_image{75,50}||inserer_attribut{'alt','article'})]
]
[(#GET{logoar}|?{'',' '})
<img src="#DOSSIER_SQUELETTE/#AP_REP_STYLE/images/artg1.gif" alt="article" />
]
///////////////////////////
Dans une boucle article.
Nota : pour toi, il faut supprimer de deuxième [(#GET...] qui affiche un logo par défaut

La même dans une boucle rubrique :
//////////////////////////
#SET{logorc,#LOGO_RUBRIQUE_NORMAL|fichier|ap_test_logo{#ID_RUBRIQUE}}
[(#GET{logorc}|?{' ',''})
[(#LOGO_RUBRIQUE||reduire_image{75,50}||inserer_attribut{'alt','rubrique'})]
]
[(#GET{logorc}|?{'',' '})
<img src="#DOSSIER_SQUELETTE/#AP_REP_STYLE/images/rubg1.gif" alt="rubrique" />
]
/////////////////////////

Et surtout, voilà le filtre 'ap_test_logo' a mettre dans 'mes_fonctions.php' dans le répertoire du
squelette :
////////////////////////
/*************************************************************
Fonctions pour tester la presence de l'image de l'article ou rubrique (v2)
*************************************************************/
function ap_test_logo($img,$ida=0)
{
if(strlen($img)==0) return '';
if(ereg("^[^0-9]+([0-9]+)[^0-9]+$",$img,$val))
{
if((0+$ida)==(0+$val[1])) return ' ';
}
return '';
}
///////////////////////////

Y'a peut être plus optimisé ou simple !, mais j'ai pas encore pris le temps de le faire.

++

Eric.

a écrit :

Bonjour,
 

Luc Mamin schrieb:

Bonsoir,
Spip 1.9.2d

Problème simple, sans doute déjà traité, recherches effectuées ... pas 
trouvé de réponses satisfaisantes...

Je voudrais insérer dans le squelette de mes articles le logo de la 
rubrique contenant les articles.
Mais je ne veux pas que la recherche de ce logo remonte la hiérarchie 
pour les rubriques ne disposant pas de logo.
Or cela semble être le fonctionnement "natif" de SPIP :
- si la rubrique possède un logo, ce dernier s'affiche.
- si la rubrique ne possède pas de logo, SPIP va chercher un logo dans 
la hiérarchie supérieure de la rubrique.

Ce que je voudrais faire c'est :
- si la rubrique contenant l'article est affectée d'un logo, celui-ci 
s'affiche.
- si la rubrique ... n'a pas de logo dédié, il faut que RIEN ne s'affiche !

Cela peut-il se faire... facilement ... ?

@+
Luc


Voilà ce que j'utilise :
////////////////////////////
#SET{logoar,#LOGO_ARTICLE_NORMAL|fichier|ap_test_logo{#ID_ARTICLE}}
[(#GET{logoar}|?{' ',''})
[(#LOGO_ARTICLE||reduire_image{75,50}||inserer_attribut{'alt','article'})]
]
[(#GET{logoar}|?{'',' '})
<img src="#DOSSIER_SQUELETTE/#AP_REP_STYLE/images/artg1.gif" alt="article" />
]
///////////////////////////
Dans une boucle article.
Nota : pour toi, il faut supprimer de deuxième [(#GET...] qui affiche un logo par défaut

La même dans une boucle rubrique :
//////////////////////////
#SET{logorc,#LOGO_RUBRIQUE_NORMAL|fichier|ap_test_logo{#ID_RUBRIQUE}}
[(#GET{logorc}|?{' ',''})
[(#LOGO_RUBRIQUE||reduire_image{75,50}||inserer_attribut{'alt','rubrique'})]
]
[(#GET{logorc}|?{'',' '})
<img src="#DOSSIER_SQUELETTE/#AP_REP_STYLE/images/rubg1.gif" alt="rubrique" />
]
/////////////////////////

Et surtout, voilà le filtre 'ap_test_logo' a mettre dans 'mes_fonctions.php' dans le répertoire du 
squelette :
////////////////////////
/*************************************************************
Fonctions pour tester la presence de l'image de l'article ou rubrique  (v2)
*************************************************************/
function ap_test_logo($img,$ida=0)
{
if(strlen($img)==0) return '';
if(ereg("^[^0-9]+([0-9]+)[^0-9]+$",$img,$val))
{
if((0+$ida)==(0+$val[1])) return ' ';
}
return '';
}
///////////////////////////

Y'a peut être plus optimisé ou simple !, mais j'ai pas encore pris le temps de le faire.

++

Eric.
_______________________________________________

Bonjour,
Finalement, j’ai utilisé la solution de Eric, mais je m’interroge toujours sur le pourquoi du fonctionnement de SPIP qui part à la pêche hiérarchique d’un logo sans qu’on le lui demande…

@+
Luc

Il est temps de faire une balise pour les rubriques correspondant à son équivalent article
#LOGO_ARTICLE_RUBRIQUE

Comme par défaut c'est récursif et qu'on doit avoir la compatibilité ascendante
il faudrait créer
#LOGO_RUBRIQUE_PAS_RUBRIQUE_MERE
Qui ne retournerait rien si la rubrique n'a pas de logo.

Le Dimanche 7 Juin 2009 15:14:12 Luc Mamin <mamin.luc@orange.fr>, dans un message intitulé "Re: [Spip] Affichage logo rubrique sinon rien !" nous a informés :

Voilà ce que j'utilise :
////////////////////////////
#SET{logoar,#LOGO_ARTICLE_NORMAL|fichier|ap_test_logo{#ID_ARTICLE}}
[(#GET{logoar}|?{' ',''})
[(#LOGO_ARTICLE||reduire_image{75,50}||inserer_attribut{'alt','article'})]
]
[(#GET{logoar}|?{'',' '})
<img src="#DOSSIER_SQUELETTE/#AP_REP_STYLE/images/artg1.gif" alt="article" />
]
///////////////////////////
Dans une boucle article.
Nota : pour toi, il faut supprimer de deuxième [(#GET...] qui affiche un logo par défaut

La même dans une boucle rubrique :
//////////////////////////
#SET{logorc,#LOGO_RUBRIQUE_NORMAL|fichier|ap_test_logo{#ID_RUBRIQUE}}
[(#GET{logorc}|?{' ',''})
[(#LOGO_RUBRIQUE||reduire_image{75,50}||inserer_attribut{'alt','rubrique'})]
]
[(#GET{logorc}|?{'',' '})
<img src="#DOSSIER_SQUELETTE/#AP_REP_STYLE/images/rubg1.gif" alt="rubrique" />
]
/////////////////////////

Et surtout, voilà le filtre 'ap_test_logo' a mettre dans 'mes_fonctions.php' dans le répertoire du squelette :
////////////////////////
/*************************************************************
Fonctions pour tester la presence de l'image de l'article ou rubrique (v2)
*************************************************************/
function ap_test_logo($img,$ida=0)
{
if(strlen($img)==0) return '';
if(ereg("^[^0-9]+([0-9]+)[^0-9]+$",$img,$val))
{
if((0+$ida)==(0+$val[1])) return ' ';
}
return '';
}
///////////////////////////

Y'a peut être plus optimisé ou simple !, mais j'ai pas encore pris le temps de le faire.

++

Eric.
_______________________________________________

Bonjour,
Finalement, j'ai utilisé la solution de Eric, mais je m'interroge toujours sur le pourquoi du fonctionnement de SPIP qui part à la pêche hiérarchique d'un logo sans qu'on le lui demande...

@+
Luc

--
****Fin du message end - Signature****
Perline

spip@perline.org – http://perline.org/

Ce message est couvert par le secret de la correspondance
(art. 226-15 et 432-9 du Code pénal)
********************************************

* Perline-Spip tapuscrivait, le 08/09/2009 11:48:

Il est temps de faire une balise pour les rubriques correspondant à son équivalent article
#LOGO_ARTICLE_RUBRIQUE

Comme par défaut c'est récursif et qu'on doit avoir la compatibilité ascendante
il faudrait créer
#LOGO_RUBRIQUE_PAS_RUBRIQUE_MERE
Qui ne retournerait rien si la rubrique n'a pas de logo.

Je l'avais fait.
Et puis Fil m'a soufflé à l'oreillette qu'il y avait bien plus simple :

c'est quoi l'astuce pour éviter d'afficher le logo_rubrique parent lorsque la rubrique en cours n'a pas de logo ?

{logo} dans la boucle devrait marcher
{!logo} pour faire l'inverse

Sinon, y'a ça qui marche à tous les coups :

[(#LOGO_RUBRIQUE||match{rubon#ID_RUBRIQUE\.}|?{#LOGO_RUBRIQUE})]

--
RealET