Mon client m'a demandé un seul champ, cela fonctionnerait de 2 façons:
- Filtre de saisie semi-automatique basé sur la taxonomie.
- Si le visiteur du site saisit quelque chose qui n'est pas dans la taxonomie, la recherche en texte intégral doit être effectuée sur le corps du contenu et un message d'information approprié doit être affiché.
De cette façon, si l'utilisateur entre le nom de la catégorie, il obtiendra la liste des nœuds sélectionnés à la main, et au moins, il obtiendra au moins du contenu.
Séparément, c'est facile. Mais comment combiner ces comportements dans un même domaine?
views
taxonomy-terms
search
Mołot
la source
la source
Réponses:
Le module Finder répondra exactement à vos besoins. Vous pouvez sélectionner le terme de taxonomie ainsi que le titre du nœud, le corps, les champs, etc. pour effectuer la recherche.
Il est utilisé à ces fins:
Voir la capture d'écran ci-dessous. Dans le champ de recherche, vous pouvez choisir les termes de taxonomie ainsi que le corps du nœud pour effectuer la recherche dans le champ exposé à saisie automatique, même vous pouvez effectuer plusieurs recherches par mot-clé séparées par une virgule. Lisez la documentation du Finder pour plus d'informations.
Une fois que vous avez ajouté l'élément, vous pouvez sélectionner les champs du Finder dans la liste, maintenez
Touche Ctrl pour sélectionner le terme de taxonomie ainsi que Node: Body
la source
J'écris sans tester mais j'ai le sentiment que vous pouvez l'utiliser au moins comme point de départ.
À l'aide du module Vues Champ Vue , vous pouvez incorporer une vue dans une autre vue, et il vous permet également de passer un filtre contextuel à la vue intégrée.
Dans votre cas, je créerais juste une autre vue qui a un filtre contextuel qui recherche le filtre donné. Je ne suis pas sûr sur ce point, si vous pouvez faire une recherche à travers des filtres contextuels, mais j'ai vu quelques options comme 'Search: Term' etc.
Cela dit, si vous pouvez de toute façon réaliser cette première étape, le reste est relativement simple.
Dans votre vue d'origine, vous ajoutez un «comportement Aucun résultat» dans la section des options avancées, et ajoutez un «Global: Vue (vue du champ Vues)» et sélectionnez la vue que vous avez créée précédemment, et passez le jeton pour le filtre exposé en tant que filtre contextuel à la vue intégrée (vous pouvez trouver les jetons dans la liste des modèles de remplacement).
la source
J'ai parcouru les discussions ci-dessus et peut-être que le scénario ci-dessous peut aborder le post `` Comment combiner les vues exposées avec la recherche? ''. L'implémentation nécessitera un codage personnalisé.
form_id = 'sns_studio_form_filter'
).Dans notre gestionnaire de soumission de formulaire personnalisé, nous prenons des informations dans les champs du formulaire personnalisé et générons l'url similaire comme nous l'avons noté à l'étape 6. Enfin, nous redirigeons vers cette URL. Ce sera comme ça dans le gestionnaire de soumission:
Ainsi, une fois l'étape 7 exécutée, tous les blocs de vue seront filtrés en fonction des critères de filtre que vous avez définis.
J'espère que cela aide.
la source
Il existe également une autre façon de procéder: vous pouvez essayer le module Concat Field . Vous ajoutez essentiellement le champ aux types de contenu, puis vous pouvez utiliser le filtre par ce champ comme recherche.
Il est assez similaire à Finder, je suis d'accord, mais je pense qu'il vaut quand même la peine d'être mentionné.
la source