Em uma exibição, eu adicionei um filtro exposto: Pesquisa: Filtro de termos de pesquisa
Funciona bem, mas eu gostaria de destacar a palavra-chave pesquisada nos resultados.
Como eu posso fazer isso?
Em uma exibição, eu adicionei um filtro exposto: Pesquisa: Filtro de termos de pesquisa
Funciona bem, mas eu gostaria de destacar a palavra-chave pesquisada nos resultados.
Como eu posso fazer isso?
Respostas:
Você pode usar algo como destaque que localiza e adiciona uma classe a todas as instâncias de uma palavra na página e, em vez de alimentar uma palavra estática, você usaria o conteúdo da caixa de pesquisa.
Você pode encontrar mais informações e links para outras versões na pergunta StackOverflow, Destaque uma palavra com jQuery .
Usando a função search_excerpt , você pode destacar a palavra-chave pesquisada. Ele mostra a palavra-chave em negrito.
Retorna trechos de um pedaço de texto, com determinadas palavras-chave destacadas. Usado para formatar os resultados da pesquisa.
Um exemplo é mostrado abaixo,
por exemplo: // um campo do corpo é exposto aqui
no seu arquivo tpl views, adicione o seguinte código
<?php foreach ($rows as $id => $row):
$keys = $_GET['body_value'];
$row = search_excerpt($keys, $row);
?>
destacará a palavra pesquisada, veja a captura de tela abaixo
Se você estiver usando visualizações com o Apache Solr em http://drupal.org/project/search_api e http://drupal.org/project/search_api_solr
Você pode ativar o destaque na palavra.
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);
}
}
}
Exemplo para o campo do corpo . No seu módulo personalizado.