In una vista e ho aggiunto un filtro esposto: Cerca: Filtro termini di ricerca
Funziona bene, ma vorrei evidenziare la parola chiave cercata nei risultati.
Come posso farlo?
In una vista e ho aggiunto un filtro esposto: Cerca: Filtro termini di ricerca
Funziona bene, ma vorrei evidenziare la parola chiave cercata nei risultati.
Come posso farlo?
Risposte:
Potresti usare qualcosa come l' evidenziazione che trova e aggiunge una classe a tutte le istanze di una parola nella pagina e invece di dargli una parola statica, useresti il contenuto della casella di ricerca.
Puoi trovare maggiori informazioni e collegamenti ad altre versioni nella domanda StackOverflow, Evidenzia una parola con jQuery .
Utilizzando la funzione search_excerpt è possibile evidenziare la parola chiave cercata. Mostra la parola chiave in grassetto.
Restituisce frammenti da un pezzo di testo, con determinate parole chiave evidenziate. Utilizzato per la formattazione dei risultati della ricerca.
Di seguito è mostrato un esempio,
per esempio: // qui viene esposto un campo del corpo
nel tuo punto di vista file tpl aggiungi il seguente codice
<?php foreach ($rows as $id => $row):
$keys = $_GET['body_value'];
$row = search_excerpt($keys, $row);
?>
evidenzierà la parola cercata, vedi lo screenshot qui sotto
Se si utilizzano le visualizzazioni con Apache Solr con http://drupal.org/project/search_api e http://drupal.org/project/search_api_solr
È possibile abilitare l'evidenziazione sulla parola.
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);
}
}
}
Esempio per il campo corporeo . Nel tuo modulo personalizzato.