boucle MOTS, doublons ?toujours

Ca nan plus ça marche pas...
là ça me donne rien...

Je rappelle : je veux d'abord l'affichage du mot passé par l'url
Puis l'affichage des autres mots du groupe, mais sans le premier.
J'ai pas mal tourné et puis plus rien...

<BOUCLE_principale(MOTS){id_mot}>

          <BOUCLE_annee(MOTS){id_mot}{doublons}>
            [(#TITRE)]
          </BOUCLE_annee>

        <BOUCLE_annee2(MOTS){type}{doublons}>
         <A HREF="fichier.php3?id_mot=#ID_MOT">[[(#TITRE)]]</a>
        </BOUCLE_annee2>

</BOUCLE_principale>

At 23:56 16/07/2002 +0200, Fil wrote:

Essaie d'éliminer ton id_mot avec {doublons}

Euh, sauf erreur de ma part (je te dis ça de mémoire), il n'est pas possible de réaliser cela directement, car il faudrait une boucle de type (TYPES_MOT) qui n'existe pas (pour sélectionner selon le type d'un mot puis récupérer la liste des mots associés).

Mais tu dois pouvoir t'en sortir avec du PHP. Quelque chose du genre:

<BOUCLE_principale(MOTS){id_mot}{doublons}>
<b>#TITRE
<?
      $le_type = "[(#TYPE|addslashes)]";
?>
</BOUCLE_principale>

<BOUCLE_autres_mots(MOTS){doublons}>
<?
      if ("[(#TYPE|addslashes)]" == $le_type) {
           echo "<li> <a href='fichier.php3?id_mot=#ID_MOT'>".striplashes("[(#TITRE|addslashes)]")."</a>";
     }
?>
</BOUCLE_autres_mots>

Ta BOUCLE_principale affiche ton mot sélectionné, le place en doublons, et stocke son #TYPE dans la variable $le_type (le filtre addslashes permettant d'éviter les erreurs si tu as créé des types avec des apostrophes).

La BOUCLE_autres_mots récupère tous les mots-clés de ton système, sauf celui de la boucle principale (grâce à {doublons}). Là, un test en PHP comparer le #TYPE de chacun de ces mots à $le_type (qui est le #TYPE du mot principal); si les deux types sont identiques, alors ça affiche le titre avec un lien hypertexte.

ARNO*

At 12:48 +0200 17/07/02, Perline wrote:

Ca nan plus ça marche pas...
là ça me donne rien...

Je rappelle : je veux d'abord l'affichage du mot passé par l'url
Puis l'affichage des autres mots du groupe, mais sans le premier.
J'ai pas mal tourné et puis plus rien...

<BOUCLE_principale(MOTS){id_mot}>

          <BOUCLE_annee(MOTS){id_mot}{doublons}>
            [(#TITRE)]
          </BOUCLE_annee>

        <BOUCLE_annee2(MOTS){type}{doublons}>
         <A HREF="fichier.php3?id_mot=#ID_MOT">[[(#TITRE)]]</a>
        </BOUCLE_annee2>

</BOUCLE_principale>

At 23:56 16/07/2002 +0200, Fil wrote:

Essaie d'éliminer ton id_mot avec {doublons}

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
http://listes.rezo.net/mailman/listinfo/spip

--
Le Scarabée : http://www.scarabee.com
uZine 3 : http://www.uzine.net

Oui, c'est bien comme boucle.
Mais, deux petites remarques : il est dommage de passr par l'ensemble des mots clés (j'en ai des flopées) alors que je ne veux tester que les quelques d'un type déjà passé dans l'url (mais en caché).

Ou alors je fais passer le type ET le mot dans l'url ?
C'est possible ?
C'est mieux >?

Merci
___________________________
At 13:08 17/07/2002 +0200, ARNO* wrote:

Euh, sauf erreur de ma part (je te dis ça de mémoire), il n'est pas possible de réaliser cela directement, car il faudrait une boucle de type (TYPES_MOT) qui n'existe pas (pour sélectionner selon le type d'un mot puis récupérer la liste des mots associés).

Mais tu dois pouvoir t'en sortir avec du PHP. Quelque chose du genre:

<BOUCLE_principale(MOTS){id_mot}{doublons}>
<b>#TITRE
<?
    $le_type = "[(#TYPE|addslashes)]";
?>
</BOUCLE_principale>

<BOUCLE_autres_mots(MOTS){doublons}>
<?
    if ("[(#TYPE|addslashes)]" == $le_type) {
         echo "<li> <a href='fichier.php3?id_mot=#ID_MOT'>".striplashes("[(#TITRE|addslashes)]")."</a>";
   }
?>
</BOUCLE_autres_mots>

Ta BOUCLE_principale affiche ton mot sélectionné, le place en doublons, et stocke son #TYPE dans la variable $le_type (le filtre addslashes permettant d'éviter les erreurs si tu as créé des types avec des apostrophes).

La BOUCLE_autres_mots récupère tous les mots-clés de ton système, sauf celui de la boucle principale (grâce à {doublons}). Là, un test en PHP comparer le #TYPE de chacun de ces mots à $le_type (qui est le #TYPE du mot principal); si les deux types sont identiques, alors ça affiche le titre avec un lien hypertexte.

ARNO*

At 12:48 +0200 17/07/02, Perline wrote:

Ca nan plus ça marche pas...
là ça me donne rien...

Je rappelle : je veux d'abord l'affichage du mot passé par l'url
Puis l'affichage des autres mots du groupe, mais sans le premier.
J'ai pas mal tourné et puis plus rien...

<BOUCLE_principale(MOTS){id_mot}>

         <BOUCLE_annee(MOTS){id_mot}{doublons}>
           [(#TITRE)]
         </BOUCLE_annee>

       <BOUCLE_annee2(MOTS){type}{doublons}>
        <A HREF="fichier.php3?id_mot=#ID_MOT">[[(#TITRE)]]</a>
       </BOUCLE_annee2>

</BOUCLE_principale>

At 23:56 16/07/2002 +0200, Fil wrote:

Essaie d'éliminer ton id_mot avec {doublons}

Chez moi un copier/coller de ce quelette marche à la perfection. Quelle
version de spip utilises-tu ?

@ Perline <perline@perline.org> :

Ca nan plus ça marche pas...
là ça me donne rien...

Je rappelle : je veux d'abord l'affichage du mot passé par l'url
Puis l'affichage des autres mots du groupe, mais sans le premier.
J'ai pas mal tourné et puis plus rien...

<BOUCLE_principale(MOTS){id_mot}>

          <BOUCLE_annee(MOTS){id_mot}{doublons}>
            [(#TITRE)]
          </BOUCLE_annee>

        <BOUCLE_annee2(MOTS){type}{doublons}>
         <A HREF="fichier.php3?id_mot=#ID_MOT">[[(#TITRE)]]</a>
        </BOUCLE_annee2>

</BOUCLE_principale>

At 23:56 16/07/2002 +0200, Fil wrote:
>Essaie d'éliminer ton id_mot avec {doublons}

At 14:33 17/07/2002 +0200, Fil wrote:

Chez moi un copier/coller de ce quelette marche à la perfection.

Ca y est j'ai fini par trouver : un téléscopage avec une autre boucle.

Ceal dit, il me semble que les critères doublons et unique ne s'utilsient pas de la même manière (mais pour arriver au même but).

Ouf, merci de votre aide.