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

74 visiteurs en ce moment


A propos du filtre |=={a} Résolu

19 juillet 2011 19:44 - Réponse(s) : 11

Bonjour,

Le filtre

  1. |=={a}

permet de comparer deux valeurs.
Ma question est : le filtre suivant marche-t-il

  1. |=={a,b,c}

au même titre que id_rubrique == 1,2,3,4 dans les boucles ?

Si tel n’est pas possible, comment obtenir le filtre

  1. |={a,b,c}

en dehors d’accumuler les |== ?

merci pour votre aide ;)


  • #1 > A propos du filtre |=={a} ˆ
    par xdjuj - 20 juillet 2011 08:33

    Tu peux en premier lieu utiliser le filtre |ou :

    1. [(#GET{maVariable}|=={1}|ou{#GET{maVariable}|=={2}})]

    Tu peux également utiliser la fonction |match :

    1. [(#GET{maVariable}|match{1,2,3})]

    Attention néanmoins, car 1 "matchera" la valeur 1 mais aussi la valeur 12. Mais match utilisant les expressions régulières, tu peux régler le pattern de ton choix (pour peu que tu manipules correctement les regexp), c’est très pratique.

    Tu peux utiliser la fonction |find :

    1. [(#LISTE{1,2,3,4,8}|find{#GET{maVariable}})]

    qui va rechercher dans une #LISTE (ou une #ARRAY : #ARRAY1,1,2,2,3,3,4,4,5,8 si tu n’utilises pas les itérateurs, nécessaires pour #LISTE) si "maVariable" existe.

    Ou dans l’autre sens avec |in_array :

    1. [(#GET{maVariable}|in_array{#LISTE{1,2,3,4,8}})]

    Pour complément d’information, la balise #LISTE (fort pratique) est présente dans SPIP3 ou simplement avec le plugin Itérateurs : http://www.spip-contrib.net/Les-Iterateurs-pour-SPIP-2-1


  • < #2 > A propos du filtre |=={a} ˆ
    par erational - 20 juillet 2011 08:48

    tout à fait xdjuj !
    pour compléter la regex doit être assez précise pour éviter de prendre trop d’expressions.
    La regex suivante est assez restrictive :

    1. [(#VAL{a}||match{^(a|b|c)$}|oui) ... ]

    Pour tester

    1. [(#VAL{a}|match{^(a|b|c)$}|oui) a <br /> ]
    2. [(#VAL{ba}|match{^(a|b|c)$}|oui) ba <br /> ]
    3. [(#VAL{amour}|match{^(a|b|c)$}|oui) amour<br /> ] [(#VAL{rien}|match{^(a|b|c)$}|oui) rien<br /> ]
    4. [(#VAL{c}|match{^(a|b|c)$}|oui) c<br /> ]

    Télécharger


  • < #3 > A propos du filtre |=={a} ˆ
    21 juillet 2011 11:52

    Merci beaucoup pour vos réponses !

    En réalité j’utilise une boucle condition :

    Je souhaiterais arriver à quelque chose de similaire à ça, qui ne marche pas :

    1. ...(CONDITION){si #ID_RUBRIQUE|=={1,2,3,4} }...

    Mon but étant de ne pas utiliser un INCLURE pour éviter de surcharger les requêtes.

    Comment faire ?

    Merci beaucoup pour l’aide très complète !


  • < #4 > A propos du filtre |=={a} ˆ
    par xdjuj - 21 juillet 2011 11:58

    Tu fais simplement ton test avant, tu ranges le résultat de ce test dans une variable (SET/GET) et tu testes dans ta boucle la valeur de ton GET. Non ?

    Et je ne vois pas ce qu’il y a de mal avec les inclusions d’ailleurs... Au contraire !! :)


  • < #5 > A propos du filtre |=={a} ˆ
    22 juillet 2011 00:47

    les inclure ça fait augmenter le nombre de requêtes. On ne s’en soucie peu quand on a un site avec des visittes bien étalées dans le temps. Pour mon cas les visittes vont par pic, il faut donc éviter que le serveur en bave ;)

    Merci pour les infos !


  • < #6 > A propos du filtre |=={a} ˆ
    par xdjuj - 22 juillet 2011 09:27

    On est entrain de changer le fil du ticket mais c’est intéressant :)

    Vu que les inclure sont justement des "bouts en cache"... J’avoue que je ne suis pas sûr de ce que tu annonces :) Et pour avoir eu la chance de mettre en ligne des sites avec de très fortes visites et avoir également une casquette d’hébergeur... Je n’ai jamais constaté de problème lié aux inclusions. Si tu as des problèmes de charge, je pense que c’est plutôt au niveau de tes requêtes qu’il faut te pencher, et contrairement à toi j’aurais justement tendance à ne PAS utiliser de boucles CONDITIONS mais des conditions php simple (= test sur variable SPIP) avec une inclusion qui est en cache.

    Une boucle est forcément plus "lourde" qu’un simple test, encore plus si tu utilises une expression régulière dedans. Je me trompe peut être, mais mon conseil serait :
    - utiliser un test et non une boucle condition
    - utiliser un inclure qui à mon sens est parfaitement optimisé

    D’autres avis seront peut être plus pertinents que le mien :)

    Bonne journée.


  • < #7 > A propos du filtre |=={a} ˆ
    par xdjuj - 22 juillet 2011 09:28

    Oui et bien entendu il faut dans ce cas recommander l’utilisation des systèmes avancés de cache de SPIP (plugins) ainsi qu’un Varnish côté serveur si vraiment c’est problématique :)


  • < #8 > A propos du filtre |=={a} ˆ
    par Novispip - 22 juillet 2011 12:35

    Il faudrait faire un tuto pour optimiser son code spip suivant les différents cas oui ;)

    Je ne maitrise pas assez le sujet pour pouvoir en parler :)

    Encore merci pour votre aide !


  • < #9 > A propos du filtre |=={a} ˆ
    28 août 2011 11:17

    Code avec spip Bonux installé. Mes 26 rubriques sont les lettres de l’alphabet. Si je suis dans l’une d’elles, la boucle retourne vrai :

    1. <hr />
    2. On vérifie que l'id rubrique est égal à 39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|61|62|63|64 <br />
    3. <BOUCLE_test12(CONDITION){si #ENV{id_rubrique}|match{(39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|61|62|63|64)}}>
    4. vrai
    5. </BOUCLE_test12>
    6. faux
    7. <//B_test12>
    8.  
    9. <hr />

    Télécharger


  • < #10 > A propos du filtre |=={a} ˆ
    par XDjuj - 28 août 2011 11:23

    Il te manque le ^ et le $ dans ton expression. Car actuellement avec ta boucle tu ne testes pas si l’ID_RUBRIQUE est égal mais si l’ID_RUBRIQUE "contient". Ainsi, si tu te trouves dans la rubrique 490 ou dans la rubrique 572, la boucle renverra vrai. Relis les posts ci dessus pour plus d’infos.


  • < #11 A propos du filtre |=={a} ˆ
    par Isabelle - 29 août 2011 18:07

    Merci beaucoup pour mon alphabet, XDjuj.


  •  


Répondre à la question

« A propos du filtre |=={a} »

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 ?

  • Comment faire pour rattacher un formulaire a liste déroulant à une table de la base ?

    15:53

    Réponse(s) : 2

    Perso je comprends pas ta question et encore moins ton code :<. Spip à une syntaxe qui est plutôt bien documenter. <form action="url" method="post"> <select (...)

  • Galerie d'image lightbox slider adaptable

    par Jhessy
    12:05

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

    Merci pour ton aide mais j’ai finalement opté pour un plugin, qui le plugin Galleria. Donc je vais mettre ce sujet résolut.

  • afficher valeurs par ordre croissant

    par Manu
    05:08

    Réponse(s) : 1

    As-tu essayé "par chambre" ? <BOUCLE_filtrevue(ARTICLES)id_rubriquepar chambre>

  • Probleme avec mediabox spip3.1.6

    par chti47
    25 juillet 15:49

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

    CA MARCHE !! Merci beaucoup à tous d’avoir pris du temps pour mon problème ! J’aime ce forum spip ! Chti47

  • Comment faire pour créer un formulaire a liste déroulante qui est rataché a une table de la base (...)

    par Jhessy
    24 juillet 16:53

    Pas de réponse

    Bonjour les amis ! ET merci d’avance pour vos réponses :) Alors je vous fais le topo. Ce que je souhaite faire, c’est d’inséré sur ma page, une liste déroulante qui contiendra des mots-clés qui sont (...)

  • creer ou bien modifier son article côté public via un modèle

    par Laëtitia
    22 juillet 18:16

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

    Je remarque une chose, si il y a 1 document dans le portfolio du rédacteur il peut en charger d’autres sur sa page publique, mais c’est quand il n’y en a pas encore que le chargement ne se fait pas (...)

  • pb spip/spipr et test robots google

    par Didine
    19 juillet 20:07

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

    Bonjour, je suis désolée mais le problème est de retour sur ce site alors que ça fonctionnait après notre échange. Le problème se pose sur plusieurs sites SPIP... peut-être est-ce dû aux modifications (...)

  • Appeler squelette

    par Mickael
    17 juillet 19:26

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

    Ok, effectivement j’ai des articles qui ont perdu leur affectation :s, du coup je me retrouve avec une rubrique vide... Merci beaucoup

  • Update de la table auteurs

    par Luc
    17 juillet 11:25

    Réponse(s) : 3

    Merci, mais en fait je n’ai aucun problème à afficher les auteurs connectés en récupérant les infos de la table auteurs ; ce que je cherche, c’est faire en sorte que les auteurs connectés updatent la (...)

  • plugin SAISIES & messages d'erreur

    par Keny972
    7 juillet 14:57

    Pas de réponse

    Bonjour, J’utilise en local le plugin SAISIES pour gérer un formulaire de création d’objet éditorial. Je cherche comment ajouter à un champ SAISIES une span message_erreur ? Pas le message (...)

  • Messages : 29336
  • 8202 43 %
  • Poser une nouvelle question