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?


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 .


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


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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.