Tri par qu'est ce qui ne va pas?

Bonjour ,
Soit un début comme ça:
<B_b>
<label>Trier par:</label>
<select onChange="location.href=''+this.options[this.selectedIndex].value;">
<option selected="selected">Choisir</option>
<option value="[(#SELF|parametre_url{tri_recensements,titre})]" >Nom</option>
<option value="[(#SELF|parametre_url{tri_recensements,categorie})]" >Genre</option>
<option value="[(#SELF|parametre_url{tri_recensements,date_observation})]">Date d'observation</option>
</select>
</div>

             &lt;BOUCLE\_b\(RECENSEMENTS\)\{id\_auteur\}\{tri titre\}\{tri categorie\}\{tri date\_observation\} \{pagination 4\}&gt;

Sachant que rien ne fonctionne j'ai des doutes dans ma formulation.
D'autre part le Genre, champ catégorie est soit faune, soit flore.. est ce que je n'oublie pas quelque chose?
Merci de me faire par de votre expérience..
A bientôt
Bernard

Le 09/11/2018 à 11:53, Bernard Blazin a écrit :

Bonjour ,
Soit un début comme ça:
<B_b>
<label>Trier par:</label>
<select onChange="location.href=''+this.options[this.selectedIndex].value;">
<option selected="selected">Choisir</option>
<option value="[(#SELF|parametre_url{tri_recensements,titre})]" >Nom</option>
<option value="[(#SELF|parametre_url{tri_recensements,categorie})]" >Genre</option>
<option value="[(#SELF|parametre_url{tri_recensements,date_observation})]">Date d'observation</option>
</select>
</div>

             &lt;BOUCLE\_b\(RECENSEMENTS\)\{id\_auteur\}\{tri titre\}\{tri categorie\}\{tri date\_observation\} \{pagination 4\}&gt;

Sachant que rien ne fonctionne j'ai des doutes dans ma formulation.
D'autre part le Genre, champ catégorie est soit faune, soit flore.. est ce que je n'oublie pas quelque chose?
Merci de me faire par de votre expérience..
A bientôt
Bernard

Bonjour,

Selon {tri} et #TRI dans les boucles - SPIP
il vaudrait mieux utiliser la balise #TRI pour définir les critères de tri

Le 09/11/2018 à 14:05, Chourak a écrit :

Le 09/11/2018 à 11:53, Bernard Blazin a écrit :

Bonjour ,
Soit un début comme ça:
<B_b>
<label>Trier par:</label>
<select onChange="location.href=''+this.options[this.selectedIndex].value;">
<option selected="selected">Choisir</option>
<option value="[(#SELF|parametre_url{tri_recensements,titre})]" >Nom</option>
<option value="[(#SELF|parametre_url{tri_recensements,categorie})]" >Genre</option>
<option value="[(#SELF|parametre_url{tri_recensements,date_observation})]">Date d'observation</option>
</select>
</div>

             &lt;BOUCLE\_b\(RECENSEMENTS\)\{id\_auteur\}\{tri titre\}\{tri categorie\}\{tri date\_observation\} \{pagination 4\}&gt;

Sachant que rien ne fonctionne j'ai des doutes dans ma formulation.
D'autre part le Genre, champ catégorie est soit faune, soit flore.. est ce que je n'oublie pas quelque chose?
Merci de me faire par de votre expérience..
A bientôt
Bernard

Bonjour,

Selon {tri} et #TRI dans les boucles - SPIP
il vaudrait mieux utiliser la balise #TRI pour définir les critères de tri

Bonjour et merci,
Ce système fonctionne bien et je n'avais pas connaissance de cette balise. Dommage par contre pour mon select, je trouve ça plus élégant et c'est d'ailleurs ce que l'on voit sur la plupart des sites.
En tous les cas merci encore tu m'as bien dépanné!
Bernard

J'ai un champ espèce qui est en réalité dans la base 'caterorie'. Dans ce champs il y a soit faune, soit flore. maintenant j'aimerais afficher par tri la faune ou la flore.. Comment dois-je m'y prendre? merci :wink:

Le 10/11/2018 à 11:22, Bernard Blazin a écrit :

Le 09/11/2018 à 14:05, Chourak a écrit :

Le 09/11/2018 à 11:53, Bernard Blazin a écrit :

Bonjour ,
Soit un début comme ça:
<B_b>
<label>Trier par:</label>
<select onChange="location.href=''+this.options[this.selectedIndex].value;">
<option selected="selected">Choisir</option>
<option value="[(#SELF|parametre_url{tri_recensements,titre})]" >Nom</option>
<option value="[(#SELF|parametre_url{tri_recensements,categorie})]" >Genre</option>
<option value="[(#SELF|parametre_url{tri_recensements,date_observation})]">Date d'observation</option>
</select>
</div>

             &lt;BOUCLE\_b\(RECENSEMENTS\)\{id\_auteur\}\{tri titre\}\{tri categorie\}\{tri date\_observation\} \{pagination 4\}&gt;

Sachant que rien ne fonctionne j'ai des doutes dans ma formulation.
D'autre part le Genre, champ catégorie est soit faune, soit flore.. est ce que je n'oublie pas quelque chose?
Merci de me faire par de votre expérience..
A bientôt
Bernard

Bonjour,

Selon {tri} et #TRI dans les boucles - SPIP
il vaudrait mieux utiliser la balise #TRI pour définir les critères de tri

Bonjour et merci,
Ce système fonctionne bien et je n'avais pas connaissance de cette balise. Dommage par contre pour mon select, je trouve ça plus élégant et c'est d'ailleurs ce que l'on voit sur la plupart des sites.
En tous les cas merci encore tu m'as bien dépanné!
Bernard
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Avec par sa fonctionne trés bien il suffit juste de mettre le critère avec le paramètre qui va bien

<BOUCLE_b(RECENSEMENTS){id_auteur} {pagination 4} {par #ENV{par,date_observation}}>
c’est un tri par date d’observation par défaut sauf si tu passe par=categorie dans l’env.

J’imagine que vos critères de tris sont bien des champs de la table RECENSEMENTS?

Pour le select mieux vaut utiliser un formulaire classique et d’utiliser la méthode HTTP GET ou POST et le faire en html.

Personnelement j’utiliserai la methode POST afin de ne pas generer du cache inutile…

<form id="formulaire_tri" action="#SELF" method="post">
    <select name="par" onChange="document.getElementById('formulaire_tri').submit()">
        <option value="titre" [(#ENV{par}|=={titre}|oui)selected] >titre</option>
        <option value="categorie" [(#ENV{par}|=={categorie}|oui)selected]>categorie</option>
        (...)
    </select>
</form> 


Le sam. 10 nov. 2018 à 11:23, Bernard Blazin <bernard.blazin@free.fr> a écrit :

Le 09/11/2018 à 14:05, Chourak a écrit :

Le 09/11/2018 à 11:53, Bernard Blazin a écrit :

Bonjour ,
Soit un début comme ça:
<B_b>
Trier par:

Choisir Nom Genre Date d'observation

<BOUCLE_b(RECENSEMENTS){id_auteur}{tri titre}{tri
categorie}{tri date_observation} {pagination 4}>
Sachant que rien ne fonctionne j’ai des doutes dans ma formulation.
D’autre part le Genre, champ catégorie est soit faune, soit flore…
est ce que je n’oublie pas quelque chose?
Merci de me faire par de votre expérience…
A bientôt
Bernard

Bonjour,

Selon https://www.spip.net/fr_article5429.html
il vaudrait mieux utiliser la balise #TRI pour définir les critères de
tri

Bonjour et merci,
Ce système fonctionne bien et je n’avais pas connaissance de cette
balise. Dommage par contre pour mon select, je trouve ça plus élégant et
c’est d’ailleurs ce que l’on voit sur la plupart des sites.
En tous les cas merci encore tu m’as bien dépanné!
Bernard


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l’aide à toute heure : http://spip.net/irc

Il faudrait avoir un aperçu des tables pour vous aider au mieux

Le sam. 10 nov. 2018 à 16:10, pierre laszczak <pierre.laszczak@gmail.com> a écrit :

Avec par sa fonctionne trés bien il suffit juste de mettre le critère avec le paramètre qui va bien

<BOUCLE_b(RECENSEMENTS){id_auteur} {pagination 4} {par #ENV{par,date_observation}}>
c’est un tri par date d’observation par défaut sauf si tu passe par=categorie dans l’env.

J’imagine que vos critères de tris sont bien des champs de la table RECENSEMENTS?

Pour le select mieux vaut utiliser un formulaire classique et d’utiliser la méthode HTTP GET ou POST et le faire en html.

Personnelement j’utiliserai la methode POST afin de ne pas generer du cache inutile…

<form id="formulaire_tri" action="#SELF" method="post">
    <select name="par" onChange="document.getElementById('formulaire_tri').submit()">
        <option value="titre" [(#ENV{par}|=={titre}|oui)selected] >titre</option>
        <option value="categorie" [(#ENV{par}|=={categorie}|oui)selected]>categorie</option>
        (...)
    </select>
</form> 


Le sam. 10 nov. 2018 à 11:23, Bernard Blazin <bernard.blazin@free.fr> a écrit :

Le 09/11/2018 à 14:05, Chourak a écrit :

Le 09/11/2018 à 11:53, Bernard Blazin a écrit :

Bonjour ,
Soit un début comme ça:
<B_b>
Trier par:

Choisir Nom Genre Date d'observation

<BOUCLE_b(RECENSEMENTS){id_auteur}{tri titre}{tri
categorie}{tri date_observation} {pagination 4}>
Sachant que rien ne fonctionne j’ai des doutes dans ma formulation.
D’autre part le Genre, champ catégorie est soit faune, soit flore…
est ce que je n’oublie pas quelque chose?
Merci de me faire par de votre expérience…
A bientôt
Bernard

Bonjour,

Selon https://www.spip.net/fr_article5429.html
il vaudrait mieux utiliser la balise #TRI pour définir les critères de
tri

Bonjour et merci,
Ce système fonctionne bien et je n’avais pas connaissance de cette
balise. Dommage par contre pour mon select, je trouve ça plus élégant et
c’est d’ailleurs ce que l’on voit sur la plupart des sites.
En tous les cas merci encore tu m’as bien dépanné!
Bernard


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l’aide à toute heure : http://spip.net/irc

Merci à tous pour votre aide. Je suis enfin arrivé à quelque chose qui me convient. Cependant j’aurais aimé encore une dernière fois votre aide. Dans mon objet recensement et la boucle RECENSEMENTS j’ai un champ « catégorie » qui prend soit « faune, soit flore » En cliquant sur catégorie je ne souhaite voir apparaitre que le faune ou que la flore. J’imagine donc que je dois faire quelque part catégorie=faune et catégorie= flore? mais ou? dans la boucle tri par rubrique IN Flore, LIKE %Flore%? je crois avoir tout essayé mais rien n’y fait!!
Grrrr… c’est un SPIP 3.2.0 bien entendu et je le précise.
Merci encore d’avance!

Le 11/11/2018 à 12:51, Bernard Blazin a écrit :

Dans mon objet recensement et la boucle RECENSEMENTS j'ai un champ "catégorie" qui prend soit "faune, soit flore" En cliquant sur catégorie je ne souhaite voir apparaitre que le faune ou que la flore. J'imagine donc que je dois faire quelque part catégorie=faune et catégorie= flore? mais ou? dans la boucle tri par rubrique IN Flore, LIKE %Flore%? je crois avoir tout essayé mais rien n'y fait!!
Grrrr.. c'est un SPIP 3.2.0 bien entendu et je le précise.
Merci encore d'avance!

Si tu veux jute un lien sur le terme catégorie qui toggle la valeur, je partirais sur qqchose dans ce gout la (ici avec switch & case qui facilite la syntaxe de la chose) :

#SWITCH{#ENV{categorie}}
[(#CASE{faune})#SET{categorie,flore}]
[(#CASE{flore})#SET{categorie,faune}]
[(#CASE_DEFAULT)faune ou flore, la valeur par défaut que tu décides de mettre]

et ton lien qui filtre la catégorie :
<a href="#SELF|parametre_url{categorie,#GET{categorie}}" class="ajax">filtrer par catégorie</a>
(ici l'ajax c'est si tu t'en sers)

et dans ta boucle tu filtres simplement ta catégorie avec {categorie ?}

Par contre ca filtre, ca ne trie pas.

Le tri pourra être fait via les balises et filtres #TRI et {tri} comme discuté avant.
Et comme ton tri de catégorie se passe sur 2 valeurs on peut imaginer qu'un {tri categorie,-1} trie sur une valeur et {tri categorie,1} trie sur l'autre.