[SPIP 2.09] Logo auteur alternatif dans une boucle articles.

Bonjour,

Je souhaite dans la page rubrique de base présenter la liste des derniers
articles mais en positionnant le Logo de l'auteur en cas d'absence du logo
de l'article.

L'esprit de #LOGO_ARTICLE_RUBRIQUE
qui serait un "#LOGO_ARTICLE_AUTEUR ...
on afficherait le Logo de l'article,ou bien, à défaut, le logo de l'auteur.

Comme cette balise n'existe pas je tourne autour de ce squelette sans
ramener ce que je veux bien sur...Le choixsivide se perdant dans
l'environnement...

<BOUCLE_articles_recents(ARTICLES) {par date}{inverse} {pagination 5}>
    #TITRE
    [(#LOGO_ARTICLE||image_reduire{150,100})]
    [(#LESAUTEURS)]
    <BOUCLE_auteurs(AUTEURS) {id_article} {0,1}>
        [(#LOGO_ARTICLE|choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]<br/>
    </BOUCLE_auteurs>
</BOUCLE_articles_recents>

Une piste ?

Merci de votre attention.

krusti.

Krusti a écrit :

Bonjour,

Je souhaite dans la page rubrique de base présenter la liste des derniers
articles mais en positionnant le Logo de l'auteur en cas d'absence du logo
de l'article.

L'esprit de #LOGO_ARTICLE_RUBRIQUE
qui serait un "#LOGO_ARTICLE_AUTEUR ...
on afficherait le Logo de l'article,ou bien, à défaut, le logo de l'auteur.

Comme cette balise n'existe pas je tourne autour de ce squelette sans
ramener ce que je veux bien sur...Le choixsivide se perdant dans
l'environnement...

<BOUCLE_articles_recents(ARTICLES) {par date}{inverse} {pagination 5}>
    #TITRE
    [(#LOGO_ARTICLE||image_reduire{150,100})]
    [(#LESAUTEURS)]
    <BOUCLE_auteurs(AUTEURS) {id_article} {0,1}>
        [(#LOGO_ARTICLE|choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]<br/>

manque un pipe ici, mais je ferais plutot :
[(#LOGO_ARTICLE||extraire_attribut{src}|choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]<br/>

@++

Merci Beaucoup ça fonctionne d'entrée de jeu :

Rappel :

[(#LOGO_ARTICLE||extraire_attribut{src}|choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]<br/>

Krusti a écrit :

Bonjour,

Je souhaite dans la page rubrique de base présenter la liste des
derniers
articles mais en positionnant le Logo de l'auteur en cas d'absence du
logo
de l'article.

L'esprit de #LOGO_ARTICLE_RUBRIQUE
qui serait un "#LOGO_ARTICLE_AUTEUR ...
on afficherait le Logo de l'article,ou bien, à défaut, le logo de
l'auteur.

Comme cette balise n'existe pas je tourne autour de ce squelette sans
ramener ce que je veux bien sur...Le choixsivide se perdant dans
l'environnement...

<BOUCLE_articles_recents(ARTICLES) {par date}{inverse} {pagination 5}>
    #TITRE
    [(#LOGO_ARTICLE||image_reduire{150,100})]
    [(#LESAUTEURS)]
    <BOUCLE_auteurs(AUTEURS) {id_article} {0,1}>
        [(#LOGO_ARTICLE|choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]<br/>

manque un pipe ici, mais je ferais plutot :
[(#LOGO_ARTICLE||extraire_attribut{src}|choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]<br/>

@++
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

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

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

Irc : de l'aide à toute heure : http://spip.net/irc

--
www.frogus.net
www.krusti.net
www.hucault.com

Salut Stephane,

chez moi(SPIP 2.08) ton code affiche auton0.ext (s'il existe) et jamais aut1.jpg (ce qui correspond au logo de l'auteur de l'article les autres auteurs n'ayant pas de logo).

Je crains qu'on échappe pas à la nécessité d'écrire une boucle AUTEURS à l'interieur de la boucle ARTICLES - peut-être comme ca :

<BOUCLE_art(ARTICLE){id_article}>#LOGO_ARTICLE</BOUCLE_a></B_a>
<BOUCLE_aut(AUTEURS){id_article}>#LOGO_AUTEUR</BOUCLE_aut>
<//B_art>

Je ne suis pourtant pas sûr si le contexte permet de récupérer id_auteur à l'endroit où j'ai mis BOUCLE_art

bonne chance,
klaus++

<BOUCLE_articles_recents(ARTICLES) {par date}{inverse} {pagination 5}>
        #TITRE
        [(#LOGO_ARTICLE||image_reduire{150,100})]
        [(#LESAUTEURS)]
        <BOUCLE_auteurs(AUTEURS) {id_article} {0,1}>
                [(#LOGO_ARTICLE|choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]<br/>

manque un pipe ici, mais je ferais plutot :
[(#LOGO_ARTICLE||extraire_attribut{src}|choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]<br/>

Salut,

tant mieux pour toi Krusti, avec quelle version de SPIP travailles-tu ? Chez moi (SPIP 2.08) pas de changement par rapport á mon message précédent, ca ne marche pas.

Voici la boucle :

<BOUCLE_art(ARTICLES){id_article}><h1>#TITRE</h1>
[(#LOGO_ARTICLE||extraire_attribut{src}|choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]<br/></BOUCLE_art>

Résultat :
article avec logo - le logo de l'article s'affiche
article sans logo - auton0.jpg s'affiche (s'il existe) même si l'auteur de l'article a un logo.

klaus++

P.S. Le fichier auton0.jpg ne devrait pas exister, c'est moi qui l'ai crée pour ce test.

Bonjour Klaus, je suis en 2.09

Pour précision la boucle dans son ensemble est bien constituée d'une
boucle articles contenant la boucle auteur à savoir en brut :

<BOUCLE_articles_recents(ARTICLES) {par date}{inverse} {pagination 5}>
    #TITRE
    <BOUCLE_auteurs(AUTEURS) {id_article} {0,1}>
      [(#LOGO_ARTICLE||extraire_attribut{src}|choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]<br/>
    </BOUCLE_auteurs>
</BOUCLE_articles_recents>

Salut,

tant mieux pour toi Krusti, avec quelle version de SPIP travailles-tu ?
Chez moi (SPIP 2.08) pas de changement par rapport á mon message
précédent, ca ne marche pas.

Voici la boucle :

<BOUCLE_art(ARTICLES){id_article}><h1>#TITRE</h1>
[(#LOGO_ARTICLE||extraire_attribut{src}|choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]<br/></BOUCLE_art>

Résultat :
article avec logo - le logo de l'article s'affiche
article sans logo - auton0.jpg s'affiche (s'il existe) même si l'auteur
de l'article a un logo.

klaus++

P.S. Le fichier auton0.jpg ne devrait pas exister, c'est moi qui l'ai
crée pour ce test.

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

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

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

Irc : de l'aide à toute heure : http://spip.net/irc

--
www.frogus.net
www.krusti.net
www.hucault.com

Krusti a écrit :

Bonjour Klaus, je suis en 2.09

Pour précision la boucle dans son ensemble est bien constituée d'une
boucle articles contenant la boucle auteur à savoir en brut :

<BOUCLE_articles_recents(ARTICLES) {par date}{inverse} {pagination 5}>
    #TITRE
    <BOUCLE_auteurs(AUTEURS) {id_article} {0,1}>
      [(#LOGO_ARTICLE||extraire_attribut{src}|choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]<br/>
    </BOUCLE_auteurs>
</BOUCLE_articles_recents>
  
en fait, le critere {logo} dans la boucle auteur, ca n'apporte pas grand chose, sauf si on veut une autre alternative quand il n'y a ni logo article ni logo auteur :

<BOUCLE_articles_recents(ARTICLES) {par date}{inverse} {pagination 5}>
    #TITRE
    <BOUCLE_auteurs(AUTEURS){logo}{id_article} {0,1}>
      [(#LOGO_ARTICLE||extraire_attribut{src}|choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]<br/>
    </BOUCLE_auteurs>
    [(#LOGO_ARTICLE_RUBRIQUE)]
    <//B_auteurs>

</BOUCLE_articles_recents>

Stéphane, comme tu le signalais dans ta première réponse, il manquait un
pipe.
Quand on rectifie la syntaxe tout est OK.. donc contrairement à ce que je
craignais, dans la boucle auteur on ne perd pas le #LOGO_ARTICLE de la
boucle de niveau supérieure.

Du coup il ne semble plus nécessaire d'utiliser extraire_attribut{src} qui
reste pour moi encore un peu nébuleux.

Donc récap il y aurait 2 approches (le tout dans une boucle article) :

[(#LOGO_ARTICLE||extraire_attribut{src}|choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]

et

[(#LOGO_ARTICLE||choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]

Krusti a écrit :

Bonjour Klaus, je suis en 2.09

Pour précision la boucle dans son ensemble est bien constituée d'une
boucle articles contenant la boucle auteur à savoir en brut :

<BOUCLE_articles_recents(ARTICLES) {par date}{inverse} {pagination 5}>
    #TITRE
    <BOUCLE_auteurs(AUTEURS) {id_article} {0,1}>
      [(#LOGO_ARTICLE||extraire_attribut{src}|choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]<br/>
    </BOUCLE_auteurs>
</BOUCLE_articles_recents>

en fait, le critere {logo} dans la boucle auteur, ca n'apporte pas grand
chose, sauf si on veut une autre alternative quand il n'y a ni logo
article ni logo auteur :

<BOUCLE_articles_recents(ARTICLES) {par date}{inverse} {pagination 5}>
    #TITRE
    <BOUCLE_auteurs(AUTEURS){logo}{id_article} {0,1}>
      [(#LOGO_ARTICLE||extraire_attribut{src}|choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]<br/>
    </BOUCLE_auteurs>
    [(#LOGO_ARTICLE_RUBRIQUE)]
    <//B_auteurs>

</BOUCLE_articles_recents>

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

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

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

Irc : de l'aide à toute heure : http://spip.net/irc

--
www.frogus.net
www.krusti.net
www.hucault.com

Krusti a écrit :

Donc récap il y aurait 2 approches (le tout dans une boucle article) :
[(#LOGO_ARTICLE||extraire_attribut{src}|choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]
et
[(#LOGO_ARTICLE||choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]

et en une seule boucle ?
   <BOUCLE_articles_recents(ARTICLES auteurs_articles)
             {par date}
             {inverse}>

     #TITRE [(#LOGO_ARTICLE||?{#LOGO_ARTICLE, #LOGO_AUTEUR})]

   </BOUCLE_articles_recents>

Encore + économique.
Pour ma part c'est encore mieux car la boucle auteur ne se justifie plus....

Merci Denis.

#TITRE [(#LOGO_ARTICLE||?{#LOGO_ARTICLE, #LOGO_AUTEUR})]

Krusti a écrit :

Donc récap il y aurait 2 approches (le tout dans une boucle article) :
[(#LOGO_ARTICLE||extraire_attribut{src}|choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]
et
[(#LOGO_ARTICLE||choixsivide{#LOGO_AUTEUR,#LOGO_ARTICLE})]

et en une seule boucle ?
   <BOUCLE_articles_recents(ARTICLES auteurs_articles)
             {par date}
             {inverse}>

     #TITRE [(#LOGO_ARTICLE||?{#LOGO_ARTICLE, #LOGO_AUTEUR})]

   </BOUCLE_articles_recents>

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

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

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

Irc : de l'aide à toute heure : http://spip.net/irc

--
www.frogus.net
www.krusti.net
www.hucault.com