Détecter la présence d'une image selon la date

Bonjour,

Je voudrais mettre en place la détection de la présence d'une image selon la date "Annee-mois-jour". Si je ne détecte pas la présence de cette dernière, je cherche l'image "Année-mois" puis année et si aucune n'est présente, je prend l'image par défaut...
Voici le code que j'utilise :
#CACHE{24*60*60}
[(#SET{imagejour,[(#CHEMIN{css/images/fond-entete/fond_entete[-(#DATE{'Y-m-d'})].jpg})]})]
[(#SET{imagemois,[(#CHEMIN{css/images/fond-entete/fond_entete[-(#DATE{'Y-m'})].jpg})]})]
[(#SET{imageannee,[(#CHEMIN{css/images/fond-entete/fond_entete[-(#DATE{'Y'})].jpg})]})]
[(#SET{imagedefaut,[(#CHEMIN{css/images/fond-entete/fond_entete.jpg})]})]

[(#SET{imagebg,[(#GET{imagejour}|?{#GET{imagejour},[(#GET{imagemois}|?{#GET{imagemois},[(#GET{imageannee}|?{#GET{imageannee},[(#GET{imagedefaut})]})]})]})])]
#entete {
     background-image:url([(#GET{imagebg})]);
     background-position: top left;
     background-repeat: no-repeat;
}

Mais ça ne marche pas...

Une idée?

Teddy

Le 23 févr. 2010 à 11:58, Teddy Payet a écrit :

Bonjour,

Je voudrais mettre en place la détection de la présence d'une image selon la date "Annee-mois-jour". Si je ne détecte pas la présence de cette dernière, je cherche l'image "Année-mois" puis année et si aucune n'est présente, je prend l'image par défaut...
Voici le code que j'utilise :
#CACHE{24*60*60}
[(#SET{imagejour,[(#CHEMIN{css/images/fond-entete/fond_entete[-(#DATE{'Y-m-d'})].jpg})]})]
[(#SET{imagemois,[(#CHEMIN{css/images/fond-entete/fond_entete[-(#DATE{'Y-m'})].jpg})]})]
[(#SET{imageannee,[(#CHEMIN{css/images/fond-entete/fond_entete[-(#DATE{'Y'})].jpg})]})]
[(#SET{imagedefaut,[(#CHEMIN{css/images/fond-entete/fond_entete.jpg})]})]

[(#SET{imagebg,[(#GET{imagejour}|?{#GET{imagejour},[(#GET{imagemois}|?{#GET{imagemois},[(#GET{imageannee}|?{#GET{imageannee},[(#GET{imagedefaut})]})]})]})])]
#entete {
   background-image:url([(#GET{imagebg})]);
   background-position: top left;
   background-repeat: no-repeat;
}

Mais ça ne marche pas...

Une idée?

Quelque chose de plus simple peut-être ?
à tester :

[(#SET{imagejour,[(#CHEMIN{css/images/fond-entete/fond_entete[-(#DATE{'Y-m-d'})].jpg})]})]
[(#SET{imagemois,[(#CHEMIN{css/images/fond-entete/fond_entete[-(#DATE{'Y-m'})].jpg})]})]
[(#SET{imageannee,[(#CHEMIN{css/images/fond-entete/fond_entete[-(#DATE{'Y'})].jpg})]})]

[(#SET{imagebg,[(#CHEMIN{css/images/fond-entete/fond_entete.jpg})]})]
[(#GET{imageannee}|?{' '}) #SET{imagebg,#GET{imageannee}} ]
[(#GET{imagemois}|?{' '}) #SET{imagebg,#GET{imagemois}} ]
[(#GET{imagejour}|?{' '}) #SET{imagebg,#GET{imagejour}} ]

#entete {
   background-image:url([(#GET{imagebg})]);
   background-position: top left;
   background-repeat: no-repeat;
}

pw

Merci pour la réponse.

J'ai retrouvé un vieux message de la liste qui donnait cette possibilité :
#entete {
     background-image:url([(#CHEMIN{css/images/fond-entete/fond_entete-[(#DATE|affdate{Y-m-d})].jpg}
     |sinon{[(#CHEMIN{css/images/fond-entete/fond_entete-[(#DATE|affdate{Y-m})].jpg}
     |sinon{[(#CHEMIN{css/images/fond-entete/fond_entete-[(#DATE|affdate{Y})].jpg}
     |sinon{#CHEMIN{css/images/fond-entete/fond_entete.jpg}})]})]}
     )]
     );
     background-position: top left;
     background-repeat: no-repeat;
}
Et ça marche de prime abord sur mon site...

De plus, je me suis rendu compte que j'avais mal écrit mon premier exemple. Il manquait le filtre |affdate{}

Le 23 févr. 10 à 14:08, pascal weber a écrit :

Le 23 févr. 2010 à 11:58, Teddy Payet a écrit :

Bonjour,

Je voudrais mettre en place la détection de la présence d'une image selon la date "Annee-mois-jour". Si je ne détecte pas la présence de cette dernière, je cherche l'image "Année-mois" puis année et si aucune n'est présente, je prend l'image par défaut...
Voici le code que j'utilise :
#CACHE{24*60*60}
[(#SET{imagejour,[(#CHEMIN{css/images/fond-entete/fond_entete[-(#DATE{'Y-m-d'})].jpg})]})]
[(#SET{imagemois,[(#CHEMIN{css/images/fond-entete/fond_entete[-(#DATE{'Y-m'})].jpg})]})]
[(#SET{imageannee,[(#CHEMIN{css/images/fond-entete/fond_entete[-(#DATE{'Y'})].jpg})]})]
[(#SET{imagedefaut,[(#CHEMIN{css/images/fond-entete/fond_entete.jpg})]})]

[(#SET{imagebg,[(#GET{imagejour}|?{#GET{imagejour},[(#GET{imagemois}|?{#GET{imagemois},[(#GET{imageannee}|?{#GET{imageannee},[(#GET{imagedefaut})]})]})]})])]
#entete {
  background-image:url([(#GET{imagebg})]);
  background-position: top left;
  background-repeat: no-repeat;
}

Mais ça ne marche pas...

Une idée?

Quelque chose de plus simple peut-être ?
à tester :

[(#SET{imagejour,[(#CHEMIN{css/images/fond-entete/fond_entete[-(#DATE{'Y-m-d'})].jpg})]})]
[(#SET{imagemois,[(#CHEMIN{css/images/fond-entete/fond_entete[-(#DATE{'Y-m'})].jpg})]})]
[(#SET{imageannee,[(#CHEMIN{css/images/fond-entete/fond_entete[-(#DATE{'Y'})].jpg})]})]

[(#SET{imagebg,[(#CHEMIN{css/images/fond-entete/fond_entete.jpg})]})]
[(#GET{imageannee}|?{' '}) #SET{imagebg,#GET{imageannee}} ]
[(#GET{imagemois}|?{' '}) #SET{imagebg,#GET{imagemois}} ]
[(#GET{imagejour}|?{' '}) #SET{imagebg,#GET{imagejour}} ]

#entete {
  background-image:url([(#GET{imagebg})]);
  background-position: top left;
  background-repeat: no-repeat;
}

pw

_______________________________________________
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