Sorot kata kunci yang dicari menggunakan tampilan filter yang terbuka?

12

Dalam tampilan dan saya menambahkan filter terbuka: Pencarian: filter Persyaratan Pencarian

Ini berfungsi dengan baik, tetapi saya ingin menyorot kata kunci yang dicari di hasil.

Bagaimana saya bisa melakukannya?

chefnelone
sumber
Anda dapat menggunakan file tpl untuk ini ..
Sumit Madan
ya, saya kira saya harus menggunakan fungsi untuk mengganti kata kunci yang dicari. Tetapi bagaimana cara mengambil kata kunci yang dicari, dan bagaimana jika ada lebih dari satu kata kunci?
chefnelone
Jika Anda dapat menggunakan jQuery, ada sedikit cara rumit untuk melakukannya.
niksmac
ya pikirkan bagaimana cara mendapatkan .. Anda dapat menggunakan jquery seperti yang dikatakan nikhil ..: D
Sumit Madan

Jawaban:

7

Anda bisa menggunakan sesuatu seperti highlight yang menemukan dan menambahkan kelas ke semua contoh kata di halaman, dan alih-alih mengumpankannya kata statis, Anda akan menggunakan isi kotak pencarian.

Anda dapat menemukan lebih banyak informasi dan tautan ke versi lain di pertanyaan StackOverflow, Sorot sebuah kata dengan jQuery .

beth
sumber
Saya membuatnya bekerja. Apakah javascript tapi tidak apa-apa. Terima kasih.
chefnelone
11

Menggunakan fungsi search_excerpt Anda dapat menyorot kata kunci yang dicari. Ini menunjukkan kata kunci dalam huruf tebal.

Mengembalikan cuplikan dari selembar teks, dengan kata kunci tertentu disorot. Digunakan untuk memformat hasil pencarian.

Contoh ditunjukkan di bawah,

misalnya: // bidang tubuh ditampilkan di sini

dalam view Anda file tpl tambahkan kode berikut

 <?php foreach ($rows as $id => $row): 

      $keys = $_GET['body_value'];
      $row = search_excerpt($keys, $row);
 ?>

itu akan menyoroti kata yang dicari, lihat tangkapan layar di bawah ini

masukkan deskripsi gambar di sini

Anoop Joseph
sumber
Itu melakukan pekerjaan tetapi menghapus struktur baris tampilan. Tampilan menunjukkan konten (bukan bidang) sebagai penggoda. Setelah pencarian selesai hasilnya tidak menunjukkan penggoda tetapi hanya data mentah. Bisakah ini dipecahkan.
chefnelone
Saya melihat bahwa fungsi search_excerpt menghapus semua markup. Apakah ini bisa berubah?
chefnelone
Saya pikir ini adalah pilihan terbaik jika tampilan ditata untuk menampilkan bidang, tetapi tidak berguna jika tampilan menampilkan konten (lengkap, penggoda, ..)
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);
    }
  }
}

Contoh untuk bidang tubuh . Ke dalam modul khusus Anda.

aleksandr pilipenko
sumber