W widoku dodałem odsłonięty filtr: Szukaj: Filtr wyszukiwanych haseł
Działa dobrze, ale chciałbym podświetlić wyszukiwane słowo kluczowe w wynikach.
Jak mogę to zrobić?
W widoku dodałem odsłonięty filtr: Szukaj: Filtr wyszukiwanych haseł
Działa dobrze, ale chciałbym podświetlić wyszukiwane słowo kluczowe w wynikach.
Jak mogę to zrobić?
Odpowiedzi:
Możesz użyć czegoś takiego jak wyróżnienie, które wyszukuje i dodaje klasę do wszystkich wystąpień słowa na stronie, a zamiast podawać słowo statyczne, używałbyś zawartości pola wyszukiwania.
Możesz znaleźć więcej informacji i linki do innych wersji w pytaniu StackOverflow, Podkreśl słowo za pomocą jQuery .
Za pomocą funkcji search_excerpt możesz podświetlić wyszukiwane słowo kluczowe. Pokazuje słowo kluczowe pogrubioną czcionką.
Zwraca fragmenty tekstu z zaznaczonym słowem kluczowym. Służy do formatowania wyników wyszukiwania.
Przykład jest pokazany poniżej,
na przykład: // pole ciała jest tutaj odsłonięte
w swoich widokach plik tpl dodaj następujący kod
<?php foreach ($rows as $id => $row):
$keys = $_GET['body_value'];
$row = search_excerpt($keys, $row);
?>
podświetli wyszukiwane słowo, patrz zrzut ekranu poniżej
Jeśli używasz widoków z Apache Solr z http://drupal.org/project/search_api i http://drupal.org/project/search_api_solr
Możesz włączyć podświetlanie słowa.
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);
}
}
}
Przykład pola ciała . Do niestandardowego modułu.