Bagi mereka yang tertarik pada cerita belakang mengapa hal ini saat ini tidak mungkin dilakukan dengan mudah, lihat: drupal.org/node/33809
coderintherye
Saya perlu melakukan hal yang sama di Drupal 8 dan saya tidak dapat mengubah batas halaman hasil pencarian. dapatkah Anda membantu dalam hal ini?
Naveen Kumar
Jawaban:
15
Saya sarankan menggunakan tampilan untuk ini. Tampilan dilengkapi dengan tampilan pencarian yang disertakan (dinonaktifkan secara default). Gunakan filter istilah pencarian yang terbuka untuk menyediakan fungsionalitas pencarian, dan sesuaikan aspek tampilan lainnya sesuai kebutuhan.
Terima kasih untuk rekomendasinya. Sepertinya cara termudah, tetapi dalam Drupal 7, saya tidak melihat tampilan pencarian apa pun.
mivoligo
Anda dapat mengonfigurasi tampilan secara pasti dalam tampilan yang menampilkan hasil pencarian seperti pencarian inti. Modul
Daniel Wehner
11
Batas 10 item umumnya dikodekan ke dalam hook_search_execute()implementasi (seperti node_search_execute()): secara teori, Anda bisa mengimplementasikan hook_search_execute()dan mengubah ->limit(10)kueri ke sesuatu selain10 .
Tetapi seperti yang disebutkan beeradb , mungkin lebih mudah menggunakan Tampilan untuk mengesampingkan hasil pencarian inti.
Drupal saat ini tidak memberi Anda opsi untuk mengubah jumlah hasil pencarian per halaman. Seperti yang disarankan @beeradb, Anda dapat menggunakan modul Views (tutorial video untuk D7 di http://lin-clark.com/blog/intro-drupal-7-intro-views-pt-1 ).
Di Drupal 7, saya bisa memodifikasi item hasil pencarian inti per halaman menggunakan hook_query_alter dalam modul khusus. Cuplikan kode berikut dapat digunakan, jika Anda terbiasa menggunakan kait dalam kode:
<?php
/**
* Implements hook_query_alter
*/function MY_MODULE_query_alter(&$query){// This is a search result query and we want to change the// number of search results per page to 16.if($query instanceofPagerDefault&&($tables = $query->getTables())&& isset($tables['i']['table'])&& $tables['i']['table']==='search_index'){
$query->limit(16);}}
Saya tidak menemukan 'tampilan pencarian' di modul tampilan. Saya menggunakan tampilan 7.x-3.7.
Untuk mendapatkan lebih dari 10 hasil pencarian pada satu halaman di Drupal 7, saya telah menggunakan search_config modul . Saya menggunakan versi terbaru '7.x-1.1-beta2'.
Setelah modul diaktifkan, Anda dapat mengonfigurasi batas pager dari Konfigurasi-> Pencarian dan metadata-> Pengaturan pencarian (admin / config / pencarian / pengaturan) di bawah bagian 'KONFIGURASI PENCARIAN NODE PENAMBAHAN'. Anda akan melihat bagian 'Hasil' di sana dan Anda dapat menentukan batas halaman untuk menampilkan lebih dari 10 hasil pencarian pada satu halaman.
Ini sepertinya tidak berfungsi dengan Apache Solr.
Jack Ryan
0
Tampilan pencarian default tampaknya telah dihapus dari modul Views, jadi inilah yang saya cepat-cepat mengetuk yang dapat Anda gunakan sebagai titik awal untuk kebutuhan Anda sendiri. Gunakan dialog impor Tampilan dan tempel kode untuk mengimpornya.
Jawaban:
Saya sarankan menggunakan tampilan untuk ini. Tampilan dilengkapi dengan tampilan pencarian yang disertakan (dinonaktifkan secara default). Gunakan filter istilah pencarian yang terbuka untuk menyediakan fungsionalitas pencarian, dan sesuaikan aspek tampilan lainnya sesuai kebutuhan.
sumber
Batas 10 item umumnya dikodekan ke dalam
hook_search_execute()
implementasi (sepertinode_search_execute()
): secara teori, Anda bisa mengimplementasikanhook_search_execute()
dan mengubah->limit(10)
kueri ke sesuatu selain10
.Tetapi seperti yang disebutkan beeradb , mungkin lebih mudah menggunakan Tampilan untuk mengesampingkan hasil pencarian inti.
sumber
Drupal saat ini tidak memberi Anda opsi untuk mengubah jumlah hasil pencarian per halaman. Seperti yang disarankan @beeradb, Anda dapat menggunakan modul Views (tutorial video untuk D7 di http://lin-clark.com/blog/intro-drupal-7-intro-views-pt-1 ).
Ada permintaan fitur untuk ini untuk masuk ke Drupal 8 http://drupal.org/node/702940 .
sumber
Di Drupal 7, saya bisa memodifikasi item hasil pencarian inti per halaman menggunakan hook_query_alter dalam modul khusus. Cuplikan kode berikut dapat digunakan, jika Anda terbiasa menggunakan kait dalam kode:
sumber
Saya tidak menemukan 'tampilan pencarian' di modul tampilan. Saya menggunakan tampilan 7.x-3.7.
Untuk mendapatkan lebih dari 10 hasil pencarian pada satu halaman di Drupal 7, saya telah menggunakan search_config modul . Saya menggunakan versi terbaru '7.x-1.1-beta2'.
Setelah modul diaktifkan, Anda dapat mengonfigurasi batas pager dari Konfigurasi-> Pencarian dan metadata-> Pengaturan pencarian (admin / config / pencarian / pengaturan) di bawah bagian 'KONFIGURASI PENCARIAN NODE PENAMBAHAN'. Anda akan melihat bagian 'Hasil' di sana dan Anda dapat menentukan batas halaman untuk menampilkan lebih dari 10 hasil pencarian pada satu halaman.
sumber
Tampilan pencarian default tampaknya telah dihapus dari modul Views, jadi inilah yang saya cepat-cepat mengetuk yang dapat Anda gunakan sebagai titik awal untuk kebutuhan Anda sendiri. Gunakan dialog impor Tampilan dan tempel kode untuk mengimpornya.
sumber
Anda dapat menggunakan modul batas pencarian juga atau menggunakan kode berikut di template.php
sumber