Görünen filtre görünümlerini kullanarak aranan anahtar kelime vurgulansın mı?


12

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?


Bunun için tpl dosyasını kullanabilirsiniz ..
Sumit Madan

Evet, sanırım aranan anahtar kelimeyi değiştirmek için bir işlev kullanmalıyım. Ancak aranan anahtar kelimeyi nasıl alırım ve birden fazla anahtar kelime varsa ne olur?
chefnelone

JQuery kullanabiliyorsanız bunu yapmanın küçük bir yolu vardır.
niksmac

evet nasıl olsun düşünün .. nikhil dedi gibi jquery kullanabilirsiniz ..: D
Sumit Madan

Yanıtlar:


7

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 .


Çalıştırıyorum. Javascript ama ok. Teşekkürler.
chefnelone

11

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

resim açıklamasını buraya girin


İşi yapar, ancak görünüm satırının yapısını kaldırır. Görünüm, içeriği (alanları değil) teaser olarak gösteriyor. Arama yapıldıktan sonra sonuç teaser'ı değil, yalnızca ham verileri gösterir. Bu çözülebilir mi?
chefnelone

Search_excerpt işlevinin tüm biçimlendirmeyi kaldırdığını görüyorum . Bu bir şekilde değişebilir mi?
chefnelone

Görünümler alanları göstermek için tarz, ancak en iyi seçenek olduğunu düşünüyorum ama görünüm içerik (tam, teaser, ..) gösteriyorsa yararlı değil
chefnelone


0
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.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.