Bir görünümde ve açıkta kalan bir filtre ekledim: Arama: Arama Terimleri filtresi
İyi çalışıyor, ancak sonuçlarda aranan anahtar kelimeyi vurgulamak istiyorum.
Nasıl yapabilirim?
Bir görünümde ve açıkta kalan bir filtre ekledim: Arama: Arama Terimleri filtresi
İyi çalışıyor, ancak sonuçlarda aranan anahtar kelimeyi vurgulamak istiyorum.
Nasıl yapabilirim?
Yanıtlar:
Sayfadaki bir kelimenin tüm örneklerini bulup bir sınıf ekleyen vurgu gibi bir şey kullanabilir ve bunu statik bir sözcükle beslemek yerine arama kutusunun içeriğini kullanırsınız.
StackOverflow sorusu, Bir kelimeyi jQuery ile vurgulama bölümünde daha fazla bilgi ve diğer sürümlere bağlantılar bulabilirsiniz .
Search_excerpt işlevini kullanarak , aranan anahtar kelimeyi vurgulayabilirsiniz. Anahtar kelimeyi kalın olarak gösterir.
Belirli anahtar kelimeler vurgulanmış olarak bir metinden parçacıklar döndürür. Arama sonuçlarını biçimlendirmek için kullanılır.
Aşağıda bir örnek gösterilmiştir,
örneğin: // burada bir vücut alanı açığa çıkar
görünümlerinizde tpl dosyasına aşağıdaki kodu ekleyin
<?php foreach ($rows as $id => $row):
$keys = $_GET['body_value'];
$row = search_excerpt($keys, $row);
?>
aranan kelimeyi vurgulayacaktır, aşağıdaki ekran görüntüsüne bakın
Http://drupal.org/project/search_api ve http://drupal.org/project/search_api_solr ile Apache Solr ile görünümler kullanıyorsanız
Sözcük üzerinde vurgulamayı etkinleştirebilirsiniz.
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);
}
}
}
Vücut alanı örneği . Özel modülünüzün içine.