it-swarm.com.de

Gesuchtes Schlüsselwort mit exponierten Filteransichten hervorheben?

In einer Ansicht und ich habe einen exponierten Filter hinzugefügt: Suche: Filter für Suchbegriffe

Es funktioniert gut, aber ich möchte das gesuchte Schlüsselwort in den Ergebnissen hervorheben.

Wie kann ich es tun?

12
chefnelone

Sie könnten etwas wie Hervorheben verwenden, das eine Klasse findet und allen Instanzen eines Wortes auf der Seite hinzufügt, und anstatt ihm ein statisches Wort zuzuführen, würden Sie den Inhalt des Suchfelds verwenden.

Weitere Informationen und Links zu anderen Versionen finden Sie in der StackOverflow-Frage Markieren Sie ein Wort mit jQuery .

7
beth

Mit der Funktion search_excerpt können Sie das gesuchte Schlüsselwort markieren. Das Schlüsselwort ist fett gedruckt.

Gibt Ausschnitte aus einem Text zurück, wobei bestimmte Schlüsselwörter hervorgehoben sind. Wird zum Formatieren von Suchergebnissen verwendet.

Ein Beispiel ist unten gezeigt,

zum Beispiel: // hier wird ein Körperfeld freigelegt

fügen Sie in Ihren Ansichten tpl-Datei den folgenden Code hinzu

 <?php foreach ($rows as $id => $row): 

      $keys = $_GET['body_value'];
      $row = search_excerpt($keys, $row);
 ?>

das gesuchte Wort wird hervorgehoben (siehe Abbildung unten)

enter image description here

11
Anoop Joseph

Wenn Sie Ansichten mit Apache Solr mit http://drupal.org/project/search_api und http://drupal.org/project/search_api_solr verwenden

Sie können die Hervorhebung im Word aktivieren.

1
gmclelland
function custom_views_pre_render(&$view) {
  if ($view->name == 'article') {
    $result = $view->result;
    foreach ($result as $i => $row) {
      $body = $view->result[$i]->field_body[0]['rendered']['#markup'];
      $strong = $view->exposed_data['body_value'];
      $view->result[$i]->field_body[0]['rendered']['#markup'] = str_replace($strong, '<strong>' . $strong . '</strong>', $body);
    }
  }
}

Beispiel für body Feld. In Ihr benutzerdefiniertes Modul.

0