© 2011-2017 Yume Design // Boiron Laetitia Graphisme et webdesign

Recherche ciblée par critères sur SPIP

//

Recherche ciblée par critères sur SPIP

Voici une astuce qui peut vous faire gagner du temps dans le développement d’un site sous SPIP 3. Avant il était assez compliqué de réaliser une recherche par mots-clés, rubriques, champs extras sans devoir passer par un plug-in ou une longue, très longue écriture de boucles imbriquées.

Voici comment simplement créer une petite recherche avec deux critères à partir des champs extras.

Les champs extras

J’ai deux types de champs extras dans mon espace privé :

- un choix par boutons radios. (données déjà pré-établies) afin de faciliter les choses j’attribue une clé différente du label. Ici pour un niveau de randonnée :
n1|Facile
n2|Moyen
n3|Difficile
n4|Très difficile
Nom du champ : niveau

- Un choix par liste déroulante (données déjà pré-établies). Pour les villes au lieux d’utiliser le code postal comme clé qui mélangeait les noms et ne triait pas par ordre alphabétique j’ai donné un numéro du type :
v100|AFFIEUX
v101|AIX
v102|ALLEYRAT
v103|AMBRUGEAT
v104|AUGNE
v105|BASVILLE
Nom du champ : villes

Au préalable

Il faut d’abord savoir que l’ensemble filtre et boucle d’affichage doivent être combinés dans un fichier à inclure.

Je récupère l’id de la rubrique car j’en aurai besoin pour limiter ma recherche et mon affichage et je déclare que cet inclure utilisera l’ajax pour fluidifier la page.

Le filtre

J’utilise l’action #SELF pour ne pas quitter ma page et retourner simplement son URL.

Pour chaque, étape de recherche j’attribue un nom qui sera important pour la suite ! C’est lui qui me permettra de chercher dans la boucle les valeurs sélectionnées.
A la balise option, je ne met pas de valeur afin que lorsque je retourne au départ, tous les articles s’affichent.

A la balise optgroup, nous allons lister les éléments existants dans les articles, les trier...

Ici nous sélectionnons tous les articles et nous les trions par ville.

Nous récupérons la clé de chaque ville

Lorsqu’une ville est sélectionnée, on la conserve en sélection même après avoir retourné l’URL de la page.

Jusque là nous avions les clés des villes, à présent nous avons besoin des valeurs. Lorsque nous avons une liste dans nos champs extras il faut utiliser la balise #LISTER_VALEURS. Afin de ne pas avoir de doublons dans les noms de ville, nous filtrons avec le filtre "unique".

Même chose avec les valeurs des activités.

La boucle

Grâce à la balise LIKE et le  ? nous allons pouvoir nous amuser un peu :)

En effet, LIKE va permettre de faire une comparaison en cherchant les valeurs contenant le critère dans une boucle. Le ? va permettre de prendre en compte le critère que s’il est existant dans la boucle. L’avantage est que si nous ne sélectionnons rien, nous avons l’ensemble des articles qui vont s’afficher. Si nous sélectionnons un seul critère alors nous aurons les articles correspondant à ce critère, si les deux sont sélectionnés alors ce sera les deux combinés.

Dans notre cas, il est important de noter ces critères à notre boucle qui liste les articles de la rubrique :
villes ?LIKE %(#ENVvilles)%
niveau ?LIKE %(#ENVniveau)%

La valeur entre %(valeur)% permet d’être récupérée complètement et non en parti. Et bien entendu, on utilise la balise #ENV afin de récupérer les valeurs du formulaire (qui sont les clés de nos champs extras).

Aller plus loin

Nous pourrions aller plus loin en permettant de pré-filtrer le filtre dès qu’une valeur est sélectionnée, ainsi cela nous permettrait de ne pas arriver sur des pages sans contenu. Nous pourrions également utiliser javascript pour ne pas avoir besoin d’un bouton de recherche.

Si vous avez des questions ou des remarques n’hésitez pas. Vous pouvez voir ce petit tuto fonctionnant sur le site du PNR de Millevaches.


Vos commentaires

  • Le 6 avril 2015 à 19:26, par paris En réponse à : Recherche ciblée par critères sur SPIP

    Merci pour votre explication un tutoriel est très bien réussi, je vais testé sur en local pour voir ce que sa donne ;-)
    paris

    Répondre à ce message

  • Le 24 novembre 2015 à 17:30, par Dubourg En réponse à : Recherche ciblée par critères sur SPIP

    Je suis vraiment étonné par ce genre d’article. Savez vous comment la typographie a été choisie ? Je souhaite la prendre pour mon blog qui explique comment investir avec le dispositif Pinel ?? J’espère que cela ne vous dérangera pas !

    Répondre à ce message

  • Le 21 décembre 2015 à 08:58, par jhon Banderas En réponse à : Recherche ciblée par critères sur SPIP

    Thanks pour votre explication un tutoriel est super bien abouti, je vais essayé sur en local pour mater ce que sa offre. electricien fontainebleau

    Répondre à ce message

  • Le 12 juillet 2016 à 12:38, par riti En réponse à : Recherche ciblée par critères sur SPIP

    Chirurgie esthetique Tunisie évolue dans la clinique pasteur. Trouvez ces operations esthétiques : chirurgie mammaire, silhouette, visage

    Répondre à ce message

  • Le 2 février à 10:48, par laetitia En réponse à : Recherche ciblée par critères sur SPIP

    Bonjour et merci beaucoup tuto.,

    j’applique cette recherche sur des évènements et ça fonctionne très bien,
    ça se corse par contre si j’utilise le type de champs extras groupes de mots clés, je n’arrive pas à lister les mots... Une idée ? ;-D

    Répondre à ce message

  • Le 6 février à 09:59, par jhon deep En réponse à : Recherche ciblée par critères sur SPIP

    Notre électricien pour un dépannage électrique à paris 3 vient dès maintenant lors d’incidents de fréquent ou de soucis électriques paris 3 Il circule dans l’heure en cas d’urgence afin d’efficacement vous être utilisé également la nuit. Si vous avez une difficulté électrique pressant, ne soyez pas inquiet, nous pouvons intervenir aussi les jours fériés et le court séjour. Notre technicien va faire une expertise du problème du courant pour déceler le fréquent de l’infrastructure électrique. Notre estimation de prix ne coûte pas un centime. Notre électricien parie 3 peut faire la remise en état en vous garantissant une mise en place électrique de qualité sécuriser et durable. Réalisées confiances à des ingénieurs accessibles et à l’audition de leurs clients.

    Répondre à ce message

  • Le 9 mars à 09:32, par jhon deep En réponse à : Recherche ciblée par critères sur SPIP

    Notre entreprise sur la localité de Massy a de nombreuses années de savoir faire dans le secteur de la serrurerie et de la vitrerie. les horaires de serrurier Massy d’ouverture sont très peu complexes, parce que nous nous trouvons accessibles en permanence et sept jours sur sept. Nous sommes les experts de l’assistance en urgence et de la mise en place de serrurerie sur la localité de Massy.

    Répondre à ce message

  • Le 7 juin à 10:55, par stepahne En réponse à : Recherche ciblée par critères sur SPIP

    j’applique cette recherche sur des évènements et ça fonctionne très bien, http://bloglemondiale.blogspot.com/

    Répondre à ce message

  • Le 7 juin à 11:01, par jhon deep En réponse à : Recherche ciblée par critères sur SPIP

    Nous sommes au courant à quel degré vous vos problèmes de la protection de vos proches. Donc, si par hasard il vous faut consignes pour l’amélioration de votre sécurité sur le XIVe arrondissement de la capitale, vous devez vous fier à nous. Notre entreprise de serrurerie vous conseille en effet une prestation de fortification et blindage de porte . Donc besoin d’une fortification avec des plaques de fer ? Pas de souci. Vous n’avez qu’à nous faire connaître à au travers de la centrale de communication mise à votre service serrurier Grigny. Finalement, un de nos spécialistes sera transmis à la maison pour le blindage de votre porte existante. Vous avez aussi la possibilité de prendre contact avec nous pour une mise en place de cornière anti-pince . Cette démarche a pour objectif d’insérer sur votre porte existante des accessoires sécuritaires dont la mission est d’endiguer l’introduction d’un pied-de-biche entre le chambranle et le battant de votre porte. Quelle que soit la façon de blindage exigé, nos spécialistes du renforcement de sa porte soient présents à bout de vos attentes.

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Suivre les commentaires : RSS 2.0 | Atom

11 1-2