Forme de recherche dans drupal

Catégories:

Bonjour,

Je voudrais savoir si c’est possible de personnaliser le module de recherche de drupal pour avoir une style de recherche comme dans http://www.nantes-tourisme.com ?

Sinon, comment faire ?

Fichier attachéTaille
search.jpg28.24 Ko
search.gif36.8 Ko
#

Oui. Par défaut, le moteur de recherche de Drupal permet de filtrer selon les critères suivants :

  • mots clés full-text (opérateurs «contenant» ou «ne contenant pas»)
  • type de contenu
  • catégories

Donc, il est possible de construire une feuille de rechercher personnalisée ressemblant bcp à celle que vous indiquez. Cela demandera un peu de travail, mais cela me semble tout à fait réalisable.

Damien

#

Là j’ai une piste mais vu que je suis moyen en langage de Shakespeare
Je ne sais pas comment le faire vraiment.

http://api.drupal.org/api/function/hook_search/5

Il va falloir que je me reforme en anglais

#

Le hook_search() permet aux modules de fournir des données pour la recherche. A priori, ce que vous cherchez n’est pas là.

Vous cherchez plutôt à définir une feuille de recherche personnalisée, sous le mode de ce qui est fait dans search_form() et node_alter_form() (cette dernière fonction ajoutant les champs de recherche avancés pour les noeuds).

Cela dit, il est certainement possible de simplement créer une fonction de thème pour la feuille définie par search_form(). Pour plus d’informations, le Form API Quickstart Guide peut bien aider.

Damien

#

Dans node_form_alter

    // Taxonomy box:
    if ($taxonomy = module_invoke('taxonomy', 'form_all', 1)) {
      $form['advanced']['category'] = array(
        '#type' => 'select',
        '#title' => t('Only in the category(s)'),
        '#prefix' => '<div class="criterion">',
        '#size' => 10,
        '#suffix' => '</div>',
        '#options' => $taxonomy,
        '#multiple' => TRUE,
      );
    }

Ceci semble la solution mais comment limiter le $taxonomy si je veux seulement mettre les categories d'hotel puis de restaurant?

Si je ne limite pas, les $taxonomy du forum module risque aussi d'afficher dans le select.

En fait, je veux créer une formulaire de recherche comme dans le site que je viens de citer en haut.

Comme ICI

#

Bonjour,
Pourquoi ne pas recourir aux exposed filters du module Views, je ne comprend pas pourquoi ça ne suffirait pas ?
Ou alors je n’ai pas bien compris ce que tu veux.

#

Je ne sais pas l’existence de ce module. T’as un lien pour le demo ?

#

En fait le module Views est une interface graphique qui te permet relativement simplement d’effectuer des requêtes sur la base de données en mettant en place des filtres.
Mais surtout, les filtres peuvent être exposés, cela veut dire que tes visiteurs peuvent eux-même choisir les critères de filtrage. En bref, Views peut te faire un moteur de recherche avancée sur mesure.

Jette un oeil ici pour un exemple rapide.

N’hésite pas à consacrer ton temps et tes efforts sur ce module, il est IN.DIS.PEN.SABLE !

Syndiquer le contenu