ในมุมมองและฉันได้เพิ่มตัวกรองแบบเปิดเผย: ค้นหา: ตัวกรองคำค้นหา
มันใช้งานได้ดี แต่ฉันต้องการเน้นคำค้นหาในผลลัพธ์
ฉันจะทำมันได้อย่างไร
ในมุมมองและฉันได้เพิ่มตัวกรองแบบเปิดเผย: ค้นหา: ตัวกรองคำค้นหา
มันใช้งานได้ดี แต่ฉันต้องการเน้นคำค้นหาในผลลัพธ์
ฉันจะทำมันได้อย่างไร
คำตอบ:
คุณสามารถใช้บางสิ่งบางอย่างเช่นไฮไลต์ที่ค้นหาและเพิ่มคลาสให้กับทุกอินสแตนซ์ของคำบนหน้าและแทนที่จะป้อนเป็นคำคงที่คุณจะใช้เนื้อหาของกล่องค้นหา
คุณสามารถค้นหาข้อมูลเพิ่มเติมและเชื่อมโยงไปยังรุ่นอื่น ๆ ในคำถาม 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);
}
}
}
ตัวอย่างสำหรับฟิลด์ร่างกาย เป็นโมดูลที่กำหนดเองของคุณ