[ar] [ca] [cpf] [de] [en] [es] [fr] [it]

Ce forum d’entraide est recommandé pour les utilisateurs et utilisatrices occasionnels de SPIP (Système de publication pour l’Internet). Avant de poser une question, faites une recherche sur ce site, consultez les liens utiles. Si vous ne trouvez pas de réponse, postez votre message dans la rubrique appropriée, avec un titre explicite.

Sujets : 24004 Sujets résolus :  39 %

38 visiteurs en ce moment


cumul de critères Résolu

par Nass - 9 mars 11:35 - Réponse(s) : 9

Bonjour,
je voudrais afficher les articles contenus dans la rubrique 4, ainsi que les articles possédant un certain mot-clé, sachant que ces derniers articles peuvent appartenir à n’importe quelle rubrique.

J’ai donc une boucle de type ARTICLES sur laquelle :
pour la première condition id_rubrique IN 4 ça marche
pour la deuxième titre_mot=xxx ça marche aussi
mais le cumul des deux ne marche pas...


  • #1 > cumul de critères ˆ
    par erational - 10 mars 10:57

    J’ai donc une boucle de type ARTICLES sur laquelle :
    pour la première condition id_rubrique IN 4 ça marche
    pour la deuxième titre_mot=xxx ça marche aussi
    mais le cumul des deux ne marche pas...

    Je ne comprends pas ... tu veux dire quoi par cumul ?

    Peux tu nous donner ton code complet en utilisant le tag<cadre class="spip">....</cadre> ?

    La solution classique est :

    • faire un tableau
    • remplir le tableau avec les id_article avec ta 1er boucle
    • remplir le tableau avec les id_article avec ta 2eme boucle
    • boucler sur ce tableau avec le critère de tri que tu veux

    en savoir plus sur les tableaux :
    http://www.spip.net/fr_article4009.html


  • < #2 > cumul de critères ˆ
    par Nass - 16 mars 22:28
    1. <BOUCLE_ligne (ARTICLES) {titre_mot=france}{par date}{inverse}{doublons}{pagination 20}>
    2. [(#COMPTEUR_BOUCLE|alterner{'<tr>',''})]
    3. <td width="50%">
    4. <h3 class="entry-title"><a href="#URL_ARTICLE" rel="bookmark">#TITRE</a></h3>
    5. <abbr class="published"[ title="(#DATE|date_iso)"]>[(#DATE|affdate{'d/m/Y'})]</abbr>
    6. [<div class="logo_col">(#LOGO_ARTICLE|#URL_ARTICLE|image_reduire{145,145})</div>]
    7. [<div class="#EDIT{intro} introduction entry-content">
    8. <a href="#URL_ARTICLE" rel="bookmark">(#INTRODUCTION|couper{300})</a></div>]
    9. </td>
    10. [(#COMPTEUR_BOUCLE|alterner{'','</tr>'})]
    11. </BOUCLE_ligne>

    Télécharger

    tel que c’est ça affiche les articles - toutes rubriques confondues - qui contiennent le mot-clé "france". Et je veux en plus, dans la même boucle classée par date inverse, afficher tous les articles d’une certaine rubrique (4), qu’ils aient le mot-clé ou non.
    Ce que je disais c’est que j’avais essayé

    1. {titre_mot=france}{id_rubrique IN 4}{par date}{inverse}{doublons}{pagination 20}

    ce qui ne marche pas


  • < #3 > cumul de critères ˆ
    par Nass - 16 mars 22:39

    Oh le boulet j’ai mon exemple pil poil illustré dans la page de tableaux dont tu as donné le lien. A moins que ce soit toi qui l’ait mis à jour ? :)

    Merci !


  • < #4 > cumul de critères ˆ
    par Nass - 16 mars 22:59

    ... eh ben non ça marche pas ^^ il n’affiche plus aucun article.

    1. #SET{articlesfrance,#ARRAY}
    2. <BOUCLE_articles_rubriquefr(ARTICLES){id_rubrique IN 4}>
    3. #SET{articlesfrance,#GET{articlesfrance}|push{#ID_ARTICLE}}
    4. </BOUCLE_articles_rubriquefr>
    5. <BOUCLE_articles_mot(ARTICLES){titre_mot=france}>
    6. #SET{articlesfrance,#GET{articlesfrance}|push{#ID_ARTICLE}}
    7. </BOUCLE_articles_mot>
    8.  
    9. <BOUCLE_ligne (ARTICLES) {id_article IN #GET{articlesfrance}}{par date}{inverse}{doublons}{pagination 20}>
    10. [(#COMPTEUR_BOUCLE|alterner{'<tr>',''})]
    11. <td width="50%">
    12. <h3 class="entry-title"><a href="#URL_ARTICLE" rel="bookmark">#TITRE</a></h3>
    13. <abbr class="published"[ title="(#DATE|date_iso)"]>[(#DATE|affdate{'d/m/Y'})]</abbr>
    14. [<div class="logo_col">(#LOGO_ARTICLE|#URL_ARTICLE|image_reduire{145,145})</div>]
    15. [<div class="#EDIT{intro} introduction entry-content">
    16. <a href="#URL_ARTICLE" rel="bookmark">(#INTRODUCTION|couper{300})</a></div>]
    17. </td>
    18. [(#COMPTEUR_BOUCLE|alterner{'','</tr>'})]
    19. </BOUCLE_ligne>

    Télécharger


  • < #5 > cumul de critères ˆ
    par erational - 17 mars 09:05

    Globalement le code semble bon
    Après des 2 #SET fais un [(#GET{articlesfrance}|foreach)] pour vérifier si ton tableau n’est pas vide.

    Ensuite tu as a un critère {doublons} qui peut poser problème. Peux tu le supprimer pour voir ?


  • < #6 > cumul de critères ˆ
    par Nass - 20 mars 09:18

    Bon, ce n’est pas doublons, par contre j’avance.
    En ajoutant la ligne GET foreach , donc après les SET et juste avant la BOUCLE LIGNE, l’écran reste vide. J’ai même ajouté un texte aaaaa bbbbb tout bête mais rien ne s’affiche.
    Par contre, à partir du moment où j’enlève la condition de tri principale id_article IN #GETarticlesfrance, le reste s’affiche (le foreach etc.)
    Je crois que mon problème peut venir du fait qu’il y a un tableau par-dessus tout ça.

    Le code actuel, qui n’affiche strictement rien à l’écran :

    1. <table class="colonne colrubr">
    2.  
    3. #SET{articlesfrance,#ARRAY}
    4. <BOUCLE_articles_rubriquefr(ARTICLES){id_rubrique IN 4}>
    5. #SET{articlesfrance,#GET{articlesfrance}|push{#ID_ARTICLE}}
    6. </BOUCLE_articles_rubriquefr>
    7. <BOUCLE_articles_mot(ARTICLES){titre_mot=france}>
    8. #SET{articlesfrance,#GET{articlesfrance}|push{#ID_ARTICLE}}
    9. </BOUCLE_articles_mot>
    10. aaaaa</br>
    11. [(#GET{articlesfrance}|foreach)]
    12. bbbbb</br>
    13. <BOUCLE_ligne (ARTICLES){id_article IN #GET{articlesfrance}}{par date}{inverse}{doublons}{pagination 20}>
    14. [(#COMPTEUR_BOUCLE|alterner{'<tr>',''})]
    15. <td width="50%">
    16. <h3 class="entry-title"><a href="#URL_ARTICLE" rel="bookmark">#TITRE</a></h3>
    17. <abbr class="published"[ title="(#DATE|date_iso)"]>[(#DATE|affdate{'d/m/Y'})]</abbr>
    18. [<div class="logo_col">(#LOGO_ARTICLE|#URL_ARTICLE|image_reduire{145,145})</div>]
    19. [<div class="#EDIT{intro} introduction entry-content">
    20. <a href="#URL_ARTICLE" rel="bookmark">(#INTRODUCTION|couper{300})</a></div>]
    21. </td>
    22. [(#COMPTEUR_BOUCLE|alterner{'','</tr>'})]
    23. </BOUCLE_ligne>
    24. [(#TOTAL_BOUCLE|alterner{'<td></td></tr>',''})]
    25. </table>

    Télécharger

    Si à ce code j’enlève {id_article IN #GET{articlesfrance}} tout s’affiche :

    aaaaa
    - 0=> 51
    - 1=> 96
    (etc.)
    bbbbb

    puis en-dessous tous les articles avec le bon formatage en tableau de deux colonnes à 50/50 - mais du coup pas les bons articles ^^


  • < #7 > cumul de critères ˆ
    par erational - 21 mars 09:18

    le code est bon ... tu es sur d’avoir des articles publiés dans la rubrique 4 ou avec le mot-clé "france" ?


  • < #8 > cumul de critères ˆ
    par Nass - 21 mars 09:45

    Oui, j’ai vérifié.
    Autre piste, je fais ces essais hors réseau avec ZMWS (le meilleur et le plus portable des serveurs que je connaisse), mais je sais que ce n’est plus maintenu depuis un moment voire des années, est-ce que les SET et GET font appel à des fonctions PHP qui ne sont pas prises en charge ?


  • < #9 cumul de critères ˆ
    par Nass - 21 mars 09:46

    ... pourtant la commande GET avec foreach fonctionne




Répondre à la question

« cumul de critères »

Mots-clés

Vous pouvez étiqueter cette page de forum avec les mots-clés qui vous semblent les plus appropriés ; ils permettront aux prochains visiteurs du site de mieux se repérer :


Installation, mise à jour

Utilisation de l’espace privé

Administration, gestion, configuration du site

Créer ses squelettes

Qui êtes-vous ?

  • Utilisation de Bootstrap pour afficher des articles SPIP

    par Lucie
    01:26

    Réponse(s) : 1

    Re-bonjour, Bon, je parviens à faire figurer les articles sur plusieurs colonnes et rangées en incluant du code bootstrap avec le code suivant : <div class="row"> <div (...)

  • Logo en image de fond

    par rezki
    24 avril 13:23

    Réponse(s) : 2

    Merci beaucoup. Je teste ça.

  • Insertion logo et document espace public

    par Teenoo
    21 avril 10:16

    Pas de réponse

    Bonjour, je suis coincée depuis plusieurs mois avec un problème. J’ai créé un site intranet avec création d’articles, insertion de docs, agenda, forum... depuis l’espace publique. Seulement, les (...)

  • filtre parametre_url et formulaire

    par Didine
    21 avril 07:02

    Résolu - Réponse(s) : 6

    Bonjour, finalement ça fonctionne parfaitement avec le filtre |affdate Merci à tous.

  • Template html5up-strongly-typed à la sauce SPIP

    par b_b
    20 avril 20:12

    Réponse(s) : 2

    Super, et merci d’avance pour le partage de ta contribution sur la zone :)

  • Formulaire et appel de fonction

    par Didine
    20 avril 18:01

    Pas de réponse

    Bonjour, j’ai ajouté un formulaire sur ma page qui me permet de faire un tri dans mes locations. Depuis ce formulaire je dois tester si la date sélectionnée correspond bien un samedi. Comment (...)

  • le critère tout n'a aucun effet sur ma boucle rubrique

    par erational
    18 avril 10:07

    Résolu - Réponse(s) : 16

    bon je passe donc en résolu

  • Comment modifier un menu ?

    par JBBJ
    13 avril 01:33

    Réponse(s) : 13

    Sinon, vous avez une idée comment faire pour ajouter un lien vers le blog directement dans le menu ? J’ai regardé pendant une heure mais je n’ai rien trouvé sur le forum :( Merci (...)

  • LIKE ne passe pas

    par brain_damage
    11 avril 19:04

    Résolu - Réponse(s) : 8

    Salut, Que ça passe dans l’url ou en ajax c’est la même chose : il s’agit d’une requête GET ou POST. Les variables #ENVid_rubrique #ENVid_mot sont implicites pour les critère id_mot? id_rubrique? Je (...)

  • Plugin Galleria bug sur la page sommaire

    par clémentb
    8 avril 12:44

    Résolu - Réponse(s) : 3

    Oui, pardon en effet. Je ne l’ai pas dis parceque j’ai décidé de ne pas utiliser le plugin Galleria sur ma page sommaire mais un autre script de galerie jquery que j’ai adapté à ma sauce.. il s’agit (...)

  • Messages : 29181
  • 8166 43 %
  • Poser une nouvelle question