liste déroulante et mot-clés

Bonjour

J'ai une page qui m'affiche une liste d'articles
J'ai créé sur cette page une liste déroulante avec des mots clés

Je voudrais maintenant qu'en choisissant un mot clé, la page se réaffiche avec les articles ayant ce mot clés (tout en gardant le contexte de la rubrique) et ça je sais pas faire !
Bon voilà où j'en suis. J'ai copié divers trucs mais je suis loin de tout comprendre.
Reste à placer les INPUT mais là je sais pas. Je lis des tutos mais je m'emmêle.
Une bonne âme ?

<form name="familles" action="spip.php">

        <select name="id_mot" id="idselect" size="1">
            <option value="">Choix d'une famille</option>
            <BOUCLE_mot_famille(MOTS) {type=famille}{par titre} >
                [<option value="#ID_MOT" [(#ENV{id_mot}|=={#ID_MOT}|?{' selected="selected"',''})]>(#TITRE)</option>]
            </BOUCLE_mot_famille>
        </select>
       
</form>

Bon, tu es sur la bonne voie.

Tu dois avoir une boucle articles qui affiche les articles de la rubrique:
<BOUCLE_art(ARTICLES) {id_rubrique} {id_mot?} {par date}>
#TITRE
</BOUCLE_art>

le critère id_mot dit de limiter la recherche au mot spécifié, le ? dit de le faire que si on spécifie un id_mot, sinon prendre tout.

Il te faut le formulaire, pour le menu déroulant, c'est bon:
<form name="familles" action="spip.php" method="get">

          <select name="id_mot" id="idselect" size="1">
              <option value="">Choix d'une famille</option>
              <BOUCLE_mot_famille(MOTS) {type=famille}{par titre} >
                  [<option value="#ID_MOT" [(#ENV{id_mot}|=={#ID_MOT}|?{'
  selected="selected"',''})]>(#TITRE)</option>]
              </BOUCLE_mot_famille>
          </select>

<input type="hidden" name="id_rubrique" value="#ID_RUBRIQUE" />
<button type="submit">Choisir</button>

  </form>

on ajoute juste id_rubrique pour garder le contexte dans l'url, et un bouton.

Pierre

Jean-Christophe Villeneuve wrote:

Bonjour

J'ai une page qui m'affiche une liste d'articles
J'ai créé sur cette page une liste déroulante avec des mots clés

Je voudrais maintenant qu'en choisissant un mot clé, la page se réaffiche avec les articles ayant ce mot clés (tout en gardant le contexte de la rubrique) et ça je sais pas faire !
Bon voilà où j'en suis. J'ai copié divers trucs mais je suis loin de tout comprendre.
Reste à placer les INPUT mais là je sais pas. Je lis des tutos mais je m'emmêle.
Une bonne âme ?

<form name="familles" action="spip.php">

        <select name="id_mot" id="idselect" size="1">
            <option value="">Choix d'une famille</option>
            <BOUCLE_mot_famille(MOTS) {type=famille}{par titre} >
                [<option value="#ID_MOT" [(#ENV{id_mot}|=={#ID_MOT}|?{' selected="selected"',''})]>(#TITRE)</option>]
            </BOUCLE_mot_famille>
        </select>
       
</form>

En effet, j'ai oublié, il faut aussi spécifier le fond que tu veux dans le formulaire en ajoutant une autre balise input:

<input type="hidden" name="page" value="rubrique"/>

Pierre

Jean-Christophe Villeneuve wrote:

Pierre Andrews a ?crit :

Bon, tu es sur la bonne voie.

Tu dois avoir une boucle articles qui affiche les articles de la rubrique:
<BOUCLE_art(ARTICLES) {id_rubrique} {id_mot?} {par date}>
#TITRE
</BOUCLE_art>

le crit?re id_mot dit de limiter la recherche au mot sp?cifi?, le ? dit de le faire que si on sp?cifie un id_mot, sinon prendre tout.

Il te faut le formulaire, pour le menu d?roulant, c'est bon:
<form name="familles" action="spip.php" method="get">

         <select name="id_mot" id="idselect" size="1">
             <option value="">Choix d'une famille</option>
             <BOUCLE_mot_famille(MOTS) {type=famille}{par titre} >
                 [<option value="#ID_MOT" [(#ENV{id_mot}|=={#ID_MOT}|?{'
selected="selected"',''})]>(#TITRE)</option>]
             </BOUCLE_mot_famille>
         </select>

<input type="hidden" name="id_rubrique" value="#ID_RUBRIQUE" />
<button type="submit">Choisir</button>

</form>

on ajoute juste id_rubrique pour garder le contexte dans l'url, et un bouton.

Pierre

Merci Pierre
Le coup du ? avec un crit?re, je connaissais pas encore
Mais il me reste un probl?me c'est qu'en faisant ?a, j'obtiens une url du type
http://monsite/spip.php?id_mot=4&id_rubrique=14
qui me renvoie vers la page d'accueil !!!
C'est bien le bon mot et la bonne rubrique, pourtant
J'ai vu aussi que l'url au premier affichage est
http://monsite/spip.php?rubrique14 (sans le "=" et le "id_")
Si je fais
http://monsite/spip.php?rubrique14&id_mot=4
j'obtiens ce que je veux

Donc comment faire afficher "rubrique14" au lieu de "id_rubrique=14" ?
ou faire que ?a fonctionne avec "id_rubrique=14"

Pierre Andrews a écrit :

En effet, j'ai oublié, il faut aussi spécifier le fond que tu veux dans le formulaire en ajoutant une autre balise input:

<input type="hidden" name="page" value="rubrique"/>

Pierre

J'ai essayé ça et spip n'aime pas du tout
En revanche, si je remplace
<input type="hidden" name="id_rubrique" value="#ID_RUBRIQUE" />
par
<input type="hidden" name="rubrique#ID_RUBRIQUE" value="" />
ça fonctionne

C'est correct comme écriture ?

Jean-Christophe Villeneuve wrote:

Pierre Andrews a ?crit :

Bon, tu es sur la bonne voie.

Tu dois avoir une boucle articles qui affiche les articles de la rubrique:
<BOUCLE_art(ARTICLES) {id_rubrique} {id_mot?} {par date}>
#TITRE
</BOUCLE_art>

le crit?re id_mot dit de limiter la recherche au mot sp?cifi?, le ? dit de le faire que si on sp?cifie un id_mot, sinon prendre tout.

Il te faut le formulaire, pour le menu d?roulant, c'est bon:
<form name="familles" action="spip.php" method="get">

         <select name="id_mot" id="idselect" size="1">
             <option value="">Choix d'une famille</option>
             <BOUCLE_mot_famille(MOTS) {type=famille}{par titre} >
                 [<option value="#ID_MOT" [(#ENV{id_mot}|=={#ID_MOT}|?{'
selected="selected"',''})]>(#TITRE)</option>]
             </BOUCLE_mot_famille>
         </select>

<input type="hidden" name="id_rubrique" value="#ID_RUBRIQUE" />
<button type="submit">Choisir</button>

</form>

on ajoute juste id_rubrique pour garder le contexte dans l'url, et un bouton.

Pierre

Merci Pierre
Le coup du ? avec un crit?re, je connaissais pas encore
Mais il me reste un probl?me c'est qu'en faisant ?a, j'obtiens une url du type
http://monsite/spip.php?id_mot=4&id_rubrique=14
qui me renvoie vers la page d'accueil !!!
C'est bien le bon mot et la bonne rubrique, pourtant
J'ai vu aussi que l'url au premier affichage est
http://monsite/spip.php?rubrique14 (sans le "=" et le "id_")
Si je fais
http://monsite/spip.php?rubrique14&id_mot=4
j'obtiens ce que je veux

Donc comment faire afficher "rubrique14" au lieu de "id_rubrique=14" ?
ou faire que ?a fonctionne avec "id_rubrique=14"

Jean-Christophe Villeneuve a écrit :

Pierre Andrews a écrit :
  
En effet, j'ai oublié, il faut aussi spécifier le fond que tu veux 
dans le formulaire en ajoutant une autre balise input:

<input type="hidden" name="page" value="rubrique"/>

Pierre
    
J'ai essayé ça et spip n'aime pas du tout
En revanche, si je remplace
<input type="hidden" name="id_rubrique" value="#ID_RUBRIQUE" />
par
<input type="hidden" name="rubrique#ID_RUBRIQUE" value="" />
ça fonctionne

C'est correct comme écriture ?
  

Autre chose :
Par défaut j’ai « Choix d’une famille » dans le select
Quand je clique sur le bouton, j’obtiens ma page mais avec aucun article
Comment faire pour que ça me renvoie la page avec tous les articles ?
Merci

Voici mon code actuel :

Choix d'une famille [(#TITRE)]

Aller

Jean-Christophe Villeneuve a écrit :

Jean-Christophe Villeneuve a écrit :

Pierre Andrews a écrit :
  
En effet, j'ai oublié, il faut aussi spécifier le fond que tu veux 
dans le formulaire en ajoutant une autre balise input:

<input type="hidden" name="page" value="rubrique"/>

Pierre
    
J'ai essayé ça et spip n'aime pas du tout
En revanche, si je remplace
<input type="hidden" name="id_rubrique" value="#ID_RUBRIQUE" />
par
<input type="hidden" name="rubrique#ID_RUBRIQUE" value="" />
ça fonctionne

C'est correct comme écriture ?
  

Autre chose :
Par défaut j’ai « Choix d’une famille » dans le select
Quand je clique sur le bouton, j’obtiens ma page mais avec aucun article
Comment faire pour que ça me renvoie la page avec tous les articles ?
Merci

Voici mon code actuel :

Choix d'une famille [(#TITRE)]

Aller


---

Oups je retire
un vidage de cache et c’est bon (RTFM, bon sang ! ) désolé pour le bruit et merci encore Pierre