afficher les auteurs dont le nom commence par une lettre

Hello,

J'ai un petit souci pour afficher les auteurs suivant si leur nom commence par A ou B ou encore C....

Cette boucle affiche un lien avec les lettres:

<BOUCLE_initiale_nom(AUTEURS){tous}{par nom}>
<a href="#SELF&amp;lettre=[^(#NOM|translitteration|couper{1}|unique{lien}) ]">[(#NOM|translitteration|couper{1}|unique{titrelien}) ]</a>
</BOUCLE_initiale_nom>

<BOUCLE_auteurs(AUTEURS){nom == ^#ENV{lettre,A}} >

Et là j'aimerai que les #nom des auteurs commençant par la lettre demandée dans l'url s'affichent. Malheureusement tous les auteurs s'affichent.

<BOUCLE_auteurs>

Une idée d'où viens la boulette?

Hello,

J'ai un petit souci pour afficher les auteurs suivant si leur
nom commence par A ou B ou encore C....

Cette boucle affiche un lien avec les lettres:

<BOUCLE_initiale_nom(AUTEURS){tous}{par nom}> <a
href="#SELF&amp;lettre=[^(#NOM|translitteration|couper{1}|uniq
ue{lien})
]">[(#NOM|translitteration|couper{1}|unique{titrelien}) ]</a>
</BOUCLE_initiale_nom>

Plutôt que #SELF&amp;lettre, tu devrais utiliser |parametre_url, ça
t'évitera des surprises quand tu activera la réécriture d'URL...

<BOUCLE_auteurs(AUTEURS){nom == ^#ENV{lettre,A}} >

Et là j'aimerai que les #nom des auteurs commençant par la
lettre demandée dans l'url s'affichent. Malheureusement tous
les auteurs s'affichent.

<BOUCLE_auteurs>

Une idée d'où viens la boulette?

Normalement, ça devrait fonctionner...

Salut
J'ai essayé plusieurs solutions, je ne vois pas pourquoi c'est en rade:

<BOUCLE_initial_nom(AUTEURS){tous}{par nom}>

<a href="#SELF&amp;nom=[(#NOM|translitteration|couper{1}|unique{lien})]">[(#NOM|translitteration|couper{1}|unique{titrelien})]</a>
</BOUCLE_initial_nom>

<ul class="membres">
<BOUCLE_auteurs(AUTEURS){nom==#ENV{nom,.}}{statut==#ENV{statut,(0minirezo|1comite|nouveau|6forum)}}>
[<li class="auteur"><a (#STATUT|=={'1comite'}|?{' ',''}) href="[(#URL_PAGE{membre}|parametre_url{id_auteur,#ID_AUTEUR})]" title="R&eacute;dacteur d'article">]
[<li class="modo"><a (#STATUT|=={'0minirezo'}|?{' ',''}) href="[(#URL_PAGE{membre}|parametre_url{id_auteur,#ID_AUTEUR})]" title="Webmaster/modo">]
[<li class="visiteur"><a (#STATUT|=={'6forum'}|?{' ',''}) href="[(#URL_PAGE{membre}|parametre_url{id_auteur,#ID_AUTEUR})]" title="Invit&eacute; ou visiteur">]
[<li class="attente"><a (#STATUT|=={'nouveau'}|?{' ',''}) href="[(#URL_PAGE{membre}|parametre_url{id_auteur,#ID_AUTEUR})]" title="Compte en attente">]
#NOM</li></a>
</BOUCLE_auteurs>

Olivier GENDRIN a écrit :

Hello,

J'ai un petit souci pour afficher les auteurs suivant si leur nom commence par A ou B ou encore C....

Cette boucle affiche un lien avec les lettres:

<BOUCLE_initiale_nom(AUTEURS){tous}{par nom}> <a
href="#SELF&amp;lettre=[^(#NOM|translitteration|couper{1}|uniq
ue{lien})
]">[(#NOM|translitteration|couper{1}|unique{titrelien}) ]</a> </BOUCLE_initiale_nom>

Plutôt que #SELF&amp;lettre, tu devrais utiliser |parametre_url, ça
t'évitera des surprises quand tu activera la réécriture d'URL...

<BOUCLE_auteurs(AUTEURS){nom == ^#ENV{lettre,A}} >

Et là j'aimerai que les #nom des auteurs commençant par la lettre demandée dans l'url s'affichent. Malheureusement tous les auteurs s'affichent.

<BOUCLE_auteurs>

Une idée d'où viens la boulette?

Normalement, ça devrait fonctionner...

Juste peut-être un truc: tout ceci est dans un include:
<INCLURE{fond="inc_liste_membres"}{self=#SELF}>

Stephan a écrit :

Salut
J'ai essayé plusieurs solutions, je ne vois pas pourquoi c'est en rade:

<BOUCLE_initial_nom(AUTEURS){tous}{par nom}>

<a href="#SELF&amp;nom=[(#NOM|translitteration|couper{1}|unique{lien})]">[(#NOM|translitteration|couper{1}|unique{titrelien})]</a>
</BOUCLE_initial_nom>

<ul class="membres">
<BOUCLE_auteurs(AUTEURS){nom==#ENV{nom,.}}{statut==#ENV{statut,(0minirezo|1comite|nouveau|6forum)}}>
[<li class="auteur"><a (#STATUT|=={'1comite'}|?{' ',''}) href="[(#URL_PAGE{membre}|parametre_url{id_auteur,#ID_AUTEUR})]" title="R&eacute;dacteur d'article">]
[<li class="modo"><a (#STATUT|=={'0minirezo'}|?{' ',''}) href="[(#URL_PAGE{membre}|parametre_url{id_auteur,#ID_AUTEUR})]" title="Webmaster/modo">]
[<li class="visiteur"><a (#STATUT|=={'6forum'}|?{' ',''}) href="[(#URL_PAGE{membre}|parametre_url{id_auteur,#ID_AUTEUR})]" title="Invit&eacute; ou visiteur">]
[<li class="attente"><a (#STATUT|=={'nouveau'}|?{' ',''}) href="[(#URL_PAGE{membre}|parametre_url{id_auteur,#ID_AUTEUR})]" title="Compte en attente">]
#NOM</li></a>
</BOUCLE_auteurs>

Olivier GENDRIN a écrit :

Hello,

J'ai un petit souci pour afficher les auteurs suivant si leur nom commence par A ou B ou encore C....

Cette boucle affiche un lien avec les lettres:

<BOUCLE_initiale_nom(AUTEURS){tous}{par nom}> <a
href="#SELF&amp;lettre=[^(#NOM|translitteration|couper{1}|uniq
ue{lien})
]">[(#NOM|translitteration|couper{1}|unique{titrelien}) ]</a> </BOUCLE_initiale_nom>

Plutôt que #SELF&amp;lettre, tu devrais utiliser |parametre_url, ça
t'évitera des surprises quand tu activera la réécriture d'URL...

<BOUCLE_auteurs(AUTEURS){nom == ^#ENV{lettre,A}} >

Et là j'aimerai que les #nom des auteurs commençant par la lettre demandée dans l'url s'affichent. Malheureusement tous les auteurs s'affichent.

<BOUCLE_auteurs>

Une idée d'où viens la boulette?

Normalement, ça devrait fonctionner...

Stephan wrote:

Juste peut-être un truc: tout ceci est dans un include:
<INCLURE{fond="inc_liste_membres"}{self=#SELF}>

Ah ben voilà !

Et si tu met #ENV dans ton include, tu vois passer lettre ?

--

Olivier G.
http://www.lespacedunmatin.info/blog/

Mettre #ENV dans mon include... heu c'est à dire?

Olivier G. a écrit :

Stephan wrote:

Juste peut-être un truc: tout ceci est dans un include:
<INCLURE{fond="inc_liste_membres"}{self=#SELF}>

Ah ben voilà !

Et si tu met #ENV dans ton include, tu vois passer lettre ?

Stephan wrote:

Mettre #ENV dans mon include... heu c'est à dire?

Ben tu écrit #ENV dans ton squelette...

Olivier G. a écrit :

Stephan wrote:

Juste peut-être un truc: tout ceci est dans un include:
<INCLURE{fond="inc_liste_membres"}{self=#SELF}>

Ah ben voilà !

Et si tu met #ENV dans ton include, tu vois passer lettre ?

--

Olivier G.
http://www.lespacedunmatin.info/blog/

J'ai ajouté {env=#ENV} à l'inclure. rien de plus de coté là.
Et en ajoutant #ENV directement dans le squelette j'obtiens:
a:5:{s:4:"fond";s:17:"inc_liste_membres";s:4:"self";s:18:"spip.php?rubrique6";s:4:"lang";s:2:"fr";s:4:"date";s:19:"2007-01-27 23:39:31";s:10:"date_redac";s:19:"2007-01-27 23:39:31";}

Mais pas de "lettre" en vue dans ce bazar.

Olivier G. a écrit :

Stephan wrote:

Mettre #ENV dans mon include... heu c'est à dire?

Ben tu écrit #ENV dans ton squelette...

Olivier G. a écrit :

Stephan wrote:

Juste peut-être un truc: tout ceci est dans un include:
<INCLURE{fond="inc_liste_membres"}{self=#SELF}>

Ah ben voilà !

Et si tu met #ENV dans ton include, tu vois passer lettre ?

Stephan wrote:

J'ai ajouté {env=#ENV} à l'inclure. rien de plus de coté là.
Et en ajoutant #ENV directement dans le squelette j'obtiens:
a:5:{s:4:"fond";s:17:"inc_liste_membres";s:4:"self";s:18:"spip.php?rubrique6";s:4:"lang";s:2:"fr";s:4:"date";s:19:"2007-01-27 23:39:31";s:10:"date_redac";s:19:"2007-01-27 23:39:31";}

Mais pas de "lettre" en vue dans ce bazar.

Donc le paramètre ne passe pas dans ton fichier inclu. Il faut que tu ajoute {lettre} ({lettre=#ENV{lettre} ?) à ton inclure. Normalement ça devrait fonctionner.

--

Olivier G.
http://www.lespacedunmatin.info/blog/

Olivier G. a écrit :

Stephan wrote:

J'ai ajouté {env=#ENV} à l'inclure. rien de plus de coté là.
Et en ajoutant #ENV directement dans le squelette j'obtiens:
a:5:{s:4:"fond";s:17:"inc_liste_membres";s:4:"self";s:18:"spip.php?rubrique6";s:4:"lang";s:2:"fr";s:4:"date";s:19:"2007-01-27 23:39:31";s:10:"date_redac";s:19:"2007-01-27 23:39:31";}

Mais pas de "lettre" en vue dans ce bazar.

Donc le paramètre ne passe pas dans ton fichier inclu. Il faut que tu ajoute {lettre} ({lettre=#ENV{lettre} ?) à ton inclure. Normalement ça devrait fonctionner.

J'ai renommé "lettre" en "nom" et ajouté tout le toutim {} à mon include. Cela me donne des erreurs si j'ajoute ({nom=#ENV{nom} ?) La syntaxe est-elle la bonne?

Stephan a écrit :

Olivier G. a écrit :

Stephan wrote:

J'ai ajouté {env=#ENV} à l'inclure. rien de plus de coté là.
Et en ajoutant #ENV directement dans le squelette j'obtiens:
a:5:{s:4:"fond";s:17:"inc_liste_membres";s:4:"self";s:18:"spip.php?rubrique6";s:4:"lang";s:2:"fr";s:4:"date";s:19:"2007-01-27 23:39:31";s:10:"date_redac";s:19:"2007-01-27 23:39:31";}

Mais pas de "lettre" en vue dans ce bazar.

Donc le paramètre ne passe pas dans ton fichier inclu. Il faut que tu ajoute {lettre} ({lettre=#ENV{lettre} ?) à ton inclure. Normalement ça devrait fonctionner.

J'ai renommé "lettre" en "nom" et ajouté tout le toutim {} à mon include. Cela me donne des erreurs si j'ajoute ({nom=#ENV{nom} ?) La syntaxe est-elle la bonne?

Hip hip hip... la lettre passe dans mon inclure. (visible dans #ENV) C'est maintenant ma boucle qui foire:
<BOUCLE_auteurs(AUTEURS){nom == #ENV{nom,.}}>
Quelque soit la lettre dans l'url, elle ne m'indique qu'un seul nom. Celui de l'admin principal.
Démo à droite en bas:
http://artlogic.ovh.org/spip_svn/spip.php?article15&nom=M

Hip hip hip... la lettre passe dans mon inclure. (visible
dans #ENV) C'est maintenant ma boucle qui foire:
<BOUCLE_auteurs(AUTEURS){nom == #ENV{nom,.}}> Quelque soit la
lettre dans l'url, elle ne m'indique qu'un seul nom. Celui de
l'admin principal.
Démo à droite en bas:
http://artlogic.ovh.org/spip_svn/spip.php?article15&nom=M

Non, elle ne passe pas dans le inclure, c'est #SELF qui passe. Tu devrait
avoir un truc du genre s:3:"nom";s:1:"M"... Donc il manque à ton inclure
{nom = #ENV{nom}}...

Pour filtrer les noms commençant par la lettre "nom", je crois qu'il faut :
<BOUCLE_auteurs(AUTEURS){nom ===^#ENV{nom,.}}>

Mais pourquoi utilises-tu #ENV{nom,.} ?
J'aurais mis #ENV{nom} ...
A+
    François

Stephan a écrit :

Stephan a écrit :

Olivier G. a écrit :

Stephan wrote:

J'ai ajouté {env=#ENV} à l'inclure. rien de plus de coté là.
Et en ajoutant #ENV directement dans le squelette j'obtiens:
a:5:{s:4:"fond";s:17:"inc_liste_membres";s:4:"self";s:18:"spip.php?rubrique6";s:4:"lang";s:2:"fr";s:4:"date";s:19:"2007-01-27 23:39:31";s:10:"date_redac";s:19:"2007-01-27 23:39:31";}

Mais pas de "lettre" en vue dans ce bazar.

Donc le paramètre ne passe pas dans ton fichier inclu. Il faut que tu ajoute {lettre} ({lettre=#ENV{lettre} ?) à ton inclure. Normalement ça devrait fonctionner.

J'ai renommé "lettre" en "nom" et ajouté tout le toutim {} à mon include. Cela me donne des erreurs si j'ajoute ({nom=#ENV{nom} ?) La syntaxe est-elle la bonne?

Hip hip hip... la lettre passe dans mon inclure. (visible dans #ENV) C'est maintenant ma boucle qui foire:
<BOUCLE_auteurs(AUTEURS){nom == #ENV{nom,.}}>
Quelque soit la lettre dans l'url, elle ne m'indique qu'un seul nom. Celui de l'admin principal.
Démo à droite en bas:
http://artlogic.ovh.org/spip_svn/spip.php?article15&nom=M

J'ai suivi vos dernières recommandations ...
Maintenant je n'ai plus d'auteurs affichés.

FGH a écrit :

Pour filtrer les noms commençant par la lettre "nom", je crois qu'il faut :
<BOUCLE_auteurs(AUTEURS){nom ===^#ENV{nom,.}}>

Mais pourquoi utilises-tu #ENV{nom,.} ?
J'aurais mis #ENV{nom} ...
A+
    François

Stephan a écrit :

Stephan a écrit :

Olivier G. a écrit :

Stephan wrote:

J'ai ajouté {env=#ENV} à l'inclure. rien de plus de coté là.
Et en ajoutant #ENV directement dans le squelette j'obtiens:
a:5:{s:4:"fond";s:17:"inc_liste_membres";s:4:"self";s:18:"spip.php?rubrique6";s:4:"lang";s:2:"fr";s:4:"date";s:19:"2007-01-27 23:39:31";s:10:"date_redac";s:19:"2007-01-27 23:39:31";}

Mais pas de "lettre" en vue dans ce bazar.

Donc le paramètre ne passe pas dans ton fichier inclu. Il faut que tu ajoute {lettre} ({lettre=#ENV{lettre} ?) à ton inclure. Normalement ça devrait fonctionner.

J'ai renommé "lettre" en "nom" et ajouté tout le toutim {} à mon include. Cela me donne des erreurs si j'ajoute ({nom=#ENV{nom} ?) La syntaxe est-elle la bonne?

Hip hip hip... la lettre passe dans mon inclure. (visible dans #ENV) C'est maintenant ma boucle qui foire:
<BOUCLE_auteurs(AUTEURS){nom == #ENV{nom,.}}>
Quelque soit la lettre dans l'url, elle ne m'indique qu'un seul nom. Celui de l'admin principal.
Démo à droite en bas:
http://artlogic.ovh.org/spip_svn/spip.php?article15&nom=M

Désolé... j'ai répondu un peu vite et sans faire de test...

Je répare donc : la boucle suivante retourne les auteurs dont le nom commence la lettre passée en paramètre au squelette

<BOUCLE_auteur(AUTEURS){nom==^#ENV{lettre}}>

L'opérateur "==" introduit une expression régulière.
Le caractère "^" signifie "Début de chaine"
On recherche donc dans le nom, une chaine commençant au début du nom et
composée de la (ou des) lettre(s) "#ENV{lettre}" suivie(s) de n'importe quels caractères (Spip complète la chaine donnée ds le filtre par les joker ".*").

Je l'ai testé en 1.9.1 avec l'url
http://localhost/xxxx/spip.php?article19&lettre=d&var_mode=calcul

A+
    François

Stephan a écrit :

J'ai suivi vos dernières recommandations ...
Maintenant je n'ai plus d'auteurs affichés.

FGH a écrit :

Pour filtrer les noms commençant par la lettre "nom", je crois qu'il faut :
<BOUCLE_auteurs(AUTEURS){nom ===^#ENV{nom,.}}>

Mais pourquoi utilises-tu #ENV{nom,.} ?
J'aurais mis #ENV{nom} ...
A+
    François

Stephan a écrit :

Stephan a écrit :

Olivier G. a écrit :

Stephan wrote:

J'ai ajouté {env=#ENV} à l'inclure. rien de plus de coté là.
Et en ajoutant #ENV directement dans le squelette j'obtiens:
a:5:{s:4:"fond";s:17:"inc_liste_membres";s:4:"self";s:18:"spip.php?rubrique6";s:4:"lang";s:2:"fr";s:4:"date";s:19:"2007-01-27 23:39:31";s:10:"date_redac";s:19:"2007-01-27 23:39:31";}

Mais pas de "lettre" en vue dans ce bazar.

Donc le paramètre ne passe pas dans ton fichier inclu. Il faut que tu ajoute {lettre} ({lettre=#ENV{lettre} ?) à ton inclure. Normalement ça devrait fonctionner.

J'ai renommé "lettre" en "nom" et ajouté tout le toutim {} à mon include. Cela me donne des erreurs si j'ajoute ({nom=#ENV{nom} ?) La syntaxe est-elle la bonne?

Hip hip hip... la lettre passe dans mon inclure. (visible dans #ENV) C'est maintenant ma boucle qui foire:
<BOUCLE_auteurs(AUTEURS){nom == #ENV{nom,.}}>
Quelque soit la lettre dans l'url, elle ne m'indique qu'un seul nom. Celui de l'admin principal.
Démo à droite en bas:
http://artlogic.ovh.org/spip_svn/spip.php?article15&nom=M

Hello... j'ai suivi ta recommandation. J'ai donc ces boucles:

<BOUCLE_initial_nom(AUTEURS){tous}{par nom}>

<a href="[(#SELF|parametre_url{lettre,#NOM|translitteration|couper{1}|unique{lien}})]">[(#NOM|translitteration|couper{1}|unique{titrelien})]</a>
</BOUCLE_initial_nom>

Cette première boucle fonctionne et me donne bien un lien avec la lettre=p ou lettre =M. Là où cela ne va plus, c'est quand j'essaie cette dernière:

<ul class="membres">
<BOUCLE_auteurs(AUTEURS){nom==^#ENV{lettre}}>

Le seul #NOM qui s'affiche en permanence est celui de l'admin principal. Je ne sais si c'est un pur hasard.
http://artlogic.ovh.org/spip_svn/spip.php?rubrique6&lettre=M

Bien que la lettre à l'air de vouloir passer dans le #ENV,
(je ne sais si elle passe correctement) au final, quelle doit être la forme de mon include? Je ne sais si c'est ça qui cloche mais bon. J'ai fais tellement de test...

FGH a écrit :

Désolé... j'ai répondu un peu vite et sans faire de test...

Je répare donc : la boucle suivante retourne les auteurs dont le nom commence la lettre passée en paramètre au squelette

<BOUCLE_auteur(AUTEURS){nom==^#ENV{lettre}}>

L'opérateur "==" introduit une expression régulière.
Le caractère "^" signifie "Début de chaine"
On recherche donc dans le nom, une chaine commençant au début du nom et
composée de la (ou des) lettre(s) "#ENV{lettre}" suivie(s) de n'importe quels caractères (Spip complète la chaine donnée ds le filtre par les joker ".*").

Je l'ai testé en 1.9.1 avec l'url
http://localhost/xxxx/spip.php?article19&lettre=d&var_mode=calcul

A+
    François

Stephan a écrit :

J'ai suivi vos dernières recommandations ...
Maintenant je n'ai plus d'auteurs affichés.

FGH a écrit :

Pour filtrer les noms commençant par la lettre "nom", je crois qu'il faut :
<BOUCLE_auteurs(AUTEURS){nom ===^#ENV{nom,.}}>

Mais pourquoi utilises-tu #ENV{nom,.} ?
J'aurais mis #ENV{nom} ...
A+
    François

Stephan a écrit :

Stephan a écrit :

Olivier G. a écrit :

Stephan wrote:

J'ai ajouté {env=#ENV} à l'inclure. rien de plus de coté là.
Et en ajoutant #ENV directement dans le squelette j'obtiens:
a:5:{s:4:"fond";s:17:"inc_liste_membres";s:4:"self";s:18:"spip.php?rubrique6";s:4:"lang";s:2:"fr";s:4:"date";s:19:"2007-01-27 23:39:31";s:10:"date_redac";s:19:"2007-01-27 23:39:31";}

Mais pas de "lettre" en vue dans ce bazar.

Donc le paramètre ne passe pas dans ton fichier inclu. Il faut que tu ajoute {lettre} ({lettre=#ENV{lettre} ?) à ton inclure. Normalement ça devrait fonctionner.

J'ai renommé "lettre" en "nom" et ajouté tout le toutim {} à mon include. Cela me donne des erreurs si j'ajoute ({nom=#ENV{nom} ?) La syntaxe est-elle la bonne?

Hip hip hip... la lettre passe dans mon inclure. (visible dans #ENV) C'est maintenant ma boucle qui foire:
<BOUCLE_auteurs(AUTEURS){nom == #ENV{nom,.}}>
Quelque soit la lettre dans l'url, elle ne m'indique qu'un seul nom. Celui de l'admin principal.
Démo à droite en bas:
http://artlogic.ovh.org/spip_svn/spip.php?article15&nom=M