En una vista y agregué un filtro expuesto: Búsqueda: Filtro de términos de búsqueda
Funciona bien, pero me gustaría resaltar la palabra clave buscada en los resultados.
¿Cómo puedo hacerlo?
En una vista y agregué un filtro expuesto: Búsqueda: Filtro de términos de búsqueda
Funciona bien, pero me gustaría resaltar la palabra clave buscada en los resultados.
¿Cómo puedo hacerlo?
Respuestas:
Podría usar algo como resaltar que encuentre y agregue una clase a todas las instancias de una palabra en la página, y en lugar de alimentarla con una palabra estática, usaría el contenido del cuadro de búsqueda.
Puede encontrar más información y enlaces a otras versiones en la pregunta de StackOverflow, Resalte una palabra con jQuery .
Con la función search_excerpt puede resaltar la palabra clave buscada. Muestra la palabra clave en negrita.
Devuelve fragmentos de un fragmento de texto, con ciertas palabras clave resaltadas. Se utiliza para formatear resultados de búsqueda.
Un ejemplo se muestra a continuación,
por ejemplo: // un campo del cuerpo está expuesto aquí
en su archivo tpl de vistas agregue el siguiente código
<?php foreach ($rows as $id => $row):
$keys = $_GET['body_value'];
$row = search_excerpt($keys, $row);
?>
resaltará la palabra buscada, mira la captura de pantalla a continuación
Si está utilizando vistas con Apache Solr con http://drupal.org/project/search_api y http://drupal.org/project/search_api_solr
Puede habilitar el resaltado en la palabra.
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);
}
}
}
Ejemplo para campo corporal . En tu módulo personalizado.