$auteur_session['id_auteur'] comme critère de boucle

Bonjour à tous,

Pour un besoin spécifique, j’ai besoin d’une boucle qui utiliserait le critère
{id_auteur==$auteur_session[‹ id_auteur ›]}
mais ça ne fonctionne pas, comme si la variable était vide… alors que si je veux afficher ma variable avant ma boucle et dans ma bloucle avec <? echo $auteur_session['id_auteur']; ?> là je récupère bien ma valeur à l’écran…

Je me suis penché sur #EVAL mais je n’y arrive vraiment pas…

Merci d’avance pour votre aide.

Michael


On Fri, 2006-12-29 at 17:15 +0100, mthanry@ifrance.com wrote:

Bonjour à tous,

Pour un besoin spécifique, j'ai besoin d'une boucle qui utiliserait le
critère
{id_auteur==$auteur_session['id_auteur']}
mais ça ne fonctionne pas, comme si la variable était vide...

  c'est l'éternel problème des variables avant/pendant/après
compilation/évaluation

  pour ce cas, tu peux utiliser les plugins "balise session" et/ou
"boucle session" pour faire ce que tu veux. Il faut juste faire
attention au cache.

--
À+, Pif.

Bonjour,

Merci Pif pour l'info, ça m'a permis d'avance mais je reste bloqué à l'étape suivante... voici ma situation :

============= CODE ===========
<?php if ($auteur_session) { ?>
  <BOUCLE_mesarticles(ARTICLES) {id_auteur==#SESSION{id_auteur}} >#TITRE</BOUCLE_mesarticles>
  <a href='#URL_LOGOUT'>cliquez ici pour vous déconnecter</a>
<?php } else { ?>
  #LOGIN_PUBLIC
<?php } ?>
============ / CODE ==========

Tant que je suis identifié, pas de problème mais dès que je me délogue, mon squelette ne se compile plus avec l'erreur :

Got error 'empty (sub)expression' from regexp

C'est comme si ma boucle était compilée alors que #SESSION{id_auteur} n'est pas définie.

Merci d'avance pour votre aide.

Michael

Le 29 déc. 06 à 17:18, christian lefebvre a écrit :

On Fri, 2006-12-29 at 17:15 +0100, mthanry@ifrance.com wrote:

Bonjour à tous,

Pour un besoin spécifique, j'ai besoin d'une boucle qui utiliserait le
critère
{id_auteur==$auteur_session['id_auteur']}
mais ça ne fonctionne pas, comme si la variable était vide...

  c'est l'éternel problème des variables avant/pendant/après
compilation/évaluation

  pour ce cas, tu peux utiliser les plugins "balise session" et/ou
"boucle session" pour faire ce que tu veux. Il faut juste faire
attention au cache.

--
À+, Pif.

Michaël Thanry a écrit :

Bonjour,

Merci Pif pour l'info, ça m'a permis d'avance mais je reste bloqué à l'étape suivante... voici ma situation :

============= CODE ===========
<?php if ($auteur_session) { ?>
  <BOUCLE_mesarticles(ARTICLES) {id_auteur==#SESSION{id_auteur}} >#TITRE</BOUCLE_mesarticles>
  <a href='#URL_LOGOUT'>cliquez ici pour vous déconnecter</a>
<?php } else { ?>
  #LOGIN_PUBLIC
<?php } ?>
============ / CODE ==========

la balise #SESSION est conçue pour se passer du php dans le squelette :

Lis-bien la doc et surtout, regarde comment les squelettes sont fichus dans le plugin.

Fais appel au script session.php pour isoler les parties de squelette dédié au visiteur identifié

<INLCURE(session.php){fond=page_dediee}>

et page_dediee.html pouvant ressembler au contenu de boite_connexion.html qui fait ce dont tu as besoin.
--
James

Merci. J'ai donc lu la doc, regardé le squelette, créé mon squelette comme suit :

<INCLURE(session.php){fond=noisette_mesarticles}>

créé ma "noisette" comme suit :

<BOUCLE_mesarticles(ARTICLES) {id_auteur==#SESSION{id_auteur}}>
#TITRE
</BOUCLE_mesarticles>
<a href='#URL_LOGOUT'>Logout</a>
</B_mesarticles>

Je reste toujours coincé sur le même message d'erreur lorsque je suis délogué...

Merci d'avance pour votre aide.

Michael

Le 30 déc. 06 à 13:17, James a écrit :

Michaël Thanry a écrit :

Bonjour,

Merci Pif pour l'info, ça m'a permis d'avance mais je reste bloqué à
l'étape suivante... voici ma situation :

============= CODE ===========
<?php if ($auteur_session) { ?>
  <BOUCLE_mesarticles(ARTICLES) {id_auteur==#SESSION{id_auteur}}

#TITRE</BOUCLE_mesarticles>

  <a href='#URL_LOGOUT'>cliquez ici pour vous déconnecter</a>
<?php } else { ?>
  #LOGIN_PUBLIC
<?php } ?>
============ / CODE ==========

la balise #SESSION est conçue pour se passer du php dans le squelette :

Lis-bien la doc et surtout, regarde comment les squelettes sont fichus
dans le plugin.

Fais appel au script session.php pour isoler les parties de squelette
dédié au visiteur identifié

<INLCURE(session.php){fond=page_dediee}>

et page_dediee.html pouvant ressembler au contenu de
boite_connexion.html qui fait ce dont tu as besoin.
--
James

_______________________________________________
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
FAQ : http://www.spip-contrib.net/spikini/FaQ

Michaël Thanry a écrit :

Merci. J'ai donc lu la doc, regardé le squelette, créé mon squelette comme suit :

<INCLURE(session.php){fond=noisette_mesarticles}>

créé ma "noisette" comme suit :

<BOUCLE_mesarticles(ARTICLES) {id_auteur==#SESSION{id_auteur}}>
#TITRE
</BOUCLE_mesarticles>
<a href='#URL_LOGOUT'>Logout</a>
</B_mesarticles>

Je reste toujours coincé sur le même message d'erreur lorsque je suis délogué...

quand tu es déloggué #SESSION est vide et le == fait appel à une expression régulière

essaie les deux critères suivants, selon ton besoin :

{id_auteur==^#SESSION{id_auteur}} qui a priori affichera tous les articles si tu n'es pas connecté

{id_auteur=#SESSION{id_auteur}} devrait ne pas provoquer d'erreur et ne rien afficher

--
James

Hello,

Merci, ça marche nickel avec {id_auteur=#SESSION{id_auteur} (un seul =). Super.

Bonne année et meilleurs vœux.

Michaël

Le 30 déc. 06 à 19:54, James a écrit :

Michaël Thanry a écrit :

Merci. J'ai donc lu la doc, regardé le squelette, créé mon squelette
comme suit :

<INCLURE(session.php){fond=noisette_mesarticles}>

créé ma "noisette" comme suit :

<BOUCLE_mesarticles(ARTICLES) {id_auteur==#SESSION{id_auteur}}>
#TITRE
</BOUCLE_mesarticles>
<a href='#URL_LOGOUT'>Logout</a>
</B_mesarticles>

Je reste toujours coincé sur le même message d'erreur lorsque je suis
délogué...

quand tu es déloggué #SESSION est vide et le == fait appel à une
expression régulière

essaie les deux critères suivants, selon ton besoin :

{id_auteur==^#SESSION{id_auteur}} qui a priori affichera tous les
articles si tu n'es pas connecté

{id_auteur=#SESSION{id_auteur}} devrait ne pas provoquer d'erreur et ne
rien afficher

--
James

_______________________________________________
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
FAQ : http://www.spip-contrib.net/spikini/FaQ