एक दृश्य में और मैंने एक उजागर फ़िल्टर जोड़ा: खोज: खोज शब्द फ़िल्टर
यह ठीक काम करता है, लेकिन मैं परिणामों में खोजा गया कीवर्ड उजागर करना चाहूंगा।
मैं यह कैसे कर सकता हूं?
एक दृश्य में और मैंने एक उजागर फ़िल्टर जोड़ा: खोज: खोज शब्द फ़िल्टर
यह ठीक काम करता है, लेकिन मैं परिणामों में खोजा गया कीवर्ड उजागर करना चाहूंगा।
मैं यह कैसे कर सकता हूं?
जवाबों:
आप कुछ ऐसा उपयोग कर सकते हैं जैसे कि हाइलाइट करें जो पेज पर किसी शब्द के सभी उदाहरणों को एक कक्षा में जोड़ता है और इसे एक स्थिर शब्द खिलाने के बजाय, आप खोज बॉक्स की सामग्री का उपयोग करेंगे।
आप StackOverflow सवाल में अन्य संस्करणों के लिए अधिक जानकारी और लिंक पा सकते हैं, jQuery के साथ एक शब्द हाइलाइट करें ।
Search_excerpt फ़ंक्शन का उपयोग करके आप खोजे गए कीवर्ड को हाइलाइट कर सकते हैं। यह कीवर्ड को बोल्ड दिखाता है।
पाठ के एक टुकड़े से स्निपेट्स लौटाता है, जिसमें कुछ विशेष कीवर्ड हाइलाइट किए जाते हैं। खोज परिणामों को स्वरूपित करने के लिए उपयोग किया जाता है।
एक उदाहरण नीचे दिया गया है,
उदाहरण के लिए: // यहाँ एक निकाय क्षेत्र दिखाया गया है
अपने विचारों में tpl फ़ाइल निम्नलिखित कोड जोड़ें
<?php foreach ($rows as $id => $row):
$keys = $_GET['body_value'];
$row = search_excerpt($keys, $row);
?>
यह खोज शब्द को उजागर करेगा, नीचे स्क्रीनशॉट देखें
आप के साथ अपाचे 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);
}
}
}
बॉडी फील्ड के लिए उदाहरण । अपने कस्टम मॉड्यूल में।