Erweiterte Suche in Drupal 6 anpassen

Kürzlich hat mich ein Kunde gefragt, ob es möglich sei, das Formular der Erweiterten Suche anzupassen. Da er sechs Vokabulare mit mehr als 100 Taxonomiebegriffen hatte, war das Auswahlfenster definitiv zu lang und zu unparktikabel.

Standardmässig sieht das Suchformular der Erweiterten Suche folgendermassen aus:

Es ist offensichtlich, dass der Benutzer von dieser riesigen Auswahlliste in der Erweiterten Suche überfordert ist. Das Ziel der Verbesserung war es, die Taxonomie-Auswahl in mehrere Auswahlboxen aufzuspiltten, für jedes Vokabular eine Auswahlbox.

Dies kann mit hook_form_alter erreicht werden.

/**
 * Implementation of hook_form alter
 */
function taxonomysplit_form_alter(&$form, $form_state, $form_id) {

  if ($form_id == 'search_form' && $form['module']['#value'] == 'node' && user_access('use advanced search'))  {
    
    ...rest of code goes here ...

}

Das angepasste Erweiterte Suche von Drupal 6 sieht wie folgt aus:


Download

Angehängt ist das taxonomy_split.module, das die beschriebene Funktion bietet.

taxonomysplit.zip