[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 : 24076 Sujets résolus :  39 %

50 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 ?

  • SPIP ecommerce

    par lotirim
    20:12

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

    Bonjour, je ne suis pas treees forte en programmation, hélas, mais j’espère comprendre votre demande correctement, et donc, voilà un lien vers le site que j’aime (...)

  • Exécution de #SET dans une boucle

    par Z_spip
    26 juin 23:22

    Réponse(s) : 3

    Bonsoir bonsoir, Si ça pet aider à comprendre le souci, mes essais sont là : http://www.routedesstages.lautre.net/cn/spip.php?rubrique3 La couleur de la puce et de la flèche "lire la suite" de (...)

  • fichier langue et code html

    par placido
    26 juin 15:24

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

    Les fichiers de langue se trouvent dans un dossier lang/ dans les différents répertoires qui composent le chemin (path) de SPIP. Lire cette documentation et les pages suivantes pour plus (...)

  • inclure du PHP dans un squelette qui fonctionne sans recalcul de la page

    par philippe
    25 juin 23:59

    Pas de réponse

    Bonjour Sur le site que je programme, les futurs rédacteurs ont la possibilité de changer les arrière-plans CSS en chargeant des images. J’ai fait une fonction php stockée dans mes_fonctions.php qui (...)

  • #TITRE + du texte en dur

    par Chrys
    25 juin 16:21

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

    Merci Fa_b, j’ai opté pour ta seconde proposition. Elle fonctionne très bien, et c’est une condition que je trouve plus simple a lire. Merci

  • Récupérer toutes les valeurs d'un champ select multiple CVT dans un array

    par orava
    24 juin 12:02

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

    Okay je me sens bête (on va mettre ça sur le compte de la canicule qui a frit mon cerveau) Bref je mets la soluce là pour ceux que ça intéresse, il suffisait tout bêtement de rajouter des crochets à (...)

  • Problème de sitemap avec SPIP 3

    par benolaos
    23 juin 07:33

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

    Il semble que finalement le sitemap.xml fonctionne, mais ne s’affiche pas comme avant (peut-être dû à une feuille de style...). Désolé pour le bruit.

  • pb spip/spipr et test robots google

    par Didine
    22 juin 10:50

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

    J’ai testé une première fois et j’ai vidé le cache de spip et ça fonctionne maintenant :) Merci beaucoup pour ton aide.

  • boucle DATA et filtrage avec un critère optionnel

    21 juin 17:48

    Pas de réponse

    Bonjour, je tente d’afficher des données récupérées avec la boucle data. J’aimerais utiliser le filtrage avec un critère optionnel passé en paramètre comme ceci par exemple : <BOUCLE_exemple(DATA) (...)

  • Rubriques

    18 juin 08:26

    Réponse(s) : 4

    Bonjour, J’ai mis du temps à te répondre j’ai fais plusieurs essais et je n’y arrive pas, pour les patronymes c’est bon j’utilise une sous rubrique dans la rubrique "généalogie" mais pour un article (...)

  • Messages : 29283
  • 8190 43 %
  • Poser une nouvelle question