У перегляді я додав відкритий фільтр: Пошук: Фільтр пошукових термінів
Це добре працює, але я хотів би виділити в результатах ключове слово.
Як я можу це зробити?
У перегляді я додав відкритий фільтр: Пошук: Фільтр пошукових термінів
Це добре працює, але я хотів би виділити в результатах ключове слово.
Як я можу це зробити?
Відповіді:
Ви можете використовувати щось на зразок виділення, яке знаходить і додає клас до всіх примірників слова на сторінці, а замість того, щоб подавати його статичним словом, ви використовували б вміст вікна пошуку.
Ви можете знайти більше інформації та посилання на інші версії у питанні StackOverflow. Виділіть слово за допомогою jQuery .
За допомогою функції search_excerpt можна виділити ключове слово, що шукається. Він показує ключове слово жирним шрифтом.
Повертає фрагменти тексту з фрагментом тексту з виділеними певними ключовими словами. Використовується для форматування результатів пошуку.
Приклад наведено нижче,
наприклад: // Тут викрито поле тіла
у файл перегляду tpl додайте наступний код
<?php foreach ($rows as $id => $row):
$keys = $_GET['body_value'];
$row = search_excerpt($keys, $row);
?>
воно виділить шукане слово, дивіться на скріншоті нижче
Якщо ви використовуєте представлення з Apache Solr з http://drupal.org/project/search_api та http://drupal.org/project/search_api_solr
Можна включити виділення слова.
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);
}
}
}
Приклад для поля тіла . У ваш власний модуль.