Dengan bantuan pertanyaan lain: Tampilkan simpul terbaru untuk setiap istilah taksonomi dalam Tampilan Saya telah dapat membuat tampilan yang saya butuhkan, kecuali bahwa itu menampilkan semua posting untuk setiap istilah (dikelompokkan berdasarkan istilah)? Bagaimana cara membatasi setiap istilah untuk hanya menampilkan 3 posting terbaru mereka.
misalnya
Term 1
- Post 1
- Post 2
- Post 3
Term 2
- Post 1
- Post 2
- Post 3
Term 3
- Post 1
- Post 2
- Post 3
sumber
Setelah diselidiki lebih lanjut, sepertinya Intip Ringkasan mungkin persis seperti yang Anda inginkan. Tangkapan layar pada dokumentasi adalah untuk Drupal 6, dan ini sedikit berbeda di Drupal 7, jadi saya telah melampirkan beberapa tangkapan layar yang diperbarui.
Anda harus mengedit pager untuk setiap grup yang ingin Anda batasi, yang sangat disayangkan.Ketika Anda mengedit pager untuk satu grup, itu mengubah pengaturan untuk semua grup. Jika Anda ingin menampilkan sejumlah node per grup yang berbeda dari jumlah total grup, ganti itu dalam pengaturan 'Format' di bawah 'Filter Kontekstual' (pada tangkapan layar pertama berwarna ungu).Ini memiliki kelemahan pada dasarnya membuat [n] tampilan untuk [n] pengelompokan, yang bisa menjadi masalah kinerja tergantung pada berapa banyak pengelompokan yang Anda miliki, tetapi membatasi permintaan hanya untuk angka yang ditetapkan untuk ditampilkan. Ini dapat meningkatkan kinerja Anda, tergantung pada kasus penggunaan Anda. Seperti biasa, cache secara bertanggung jawab.
sumber
Cara untuk membatasi ini dalam kode adalah dengan menambahkan sesuatu seperti berikut ke modul khusus:
Ini untuk tampilan istilah taksonomi yang terhubung ke node melalui suatu hubungan. Jika Anda hanya memiliki tampilan node, jarak tempuh Anda dapat bervariasi.
Meskipun mencegah tampilan lebih dari 3 per istilah, ini tidak akan mencegah permintaan mengembalikan semua hasil untuk setiap istilah, sehingga tidak meningkatkan kinerja SQL sama sekali. Jika Anda memiliki jumlah hasil yang sangat besar untuk setiap istilah, buat tampilan panel tampilan terpisah dan letakkan semuanya di satu wilayah menggunakan sesuatu seperti Pengelola Halaman CTools sehingga Anda tidak menjalankan kueri yang sangat besar.
Seperti biasa, Anda ingin menyimpan hal ini di produksi.
sumber
Hook_views_pre_build()
atauhook_build_pre_execute()
mungkin dapat digunakan untuk sesuatu seperti ini yang mengurangi hit kinerja, tapi saya tidak terbiasa dengan itu. Atau Anda mungkin menyukai jawaban saya untuk pertanyaan ini sebelumnya .