Saya ingin membiarkan halaman terus mendapat manfaat dari mekanisme caching Drupal 8 untuk pengguna anonim, kecuali untuk blok tertentu yang harus diperbarui pada setiap penyegaran halaman mengetahui bahwa mereka dihasilkan dari Views.
Apakah secara teknis memungkinkan? Bagaimana?
Jawaban:
Apa yang ditampilkan oleh tampilan blokir itu?
D8 memiliki tag dan konteks cache yang secara otomatis akan membatalkan blok jika ada perubahan.
Jadi, jika Anda memiliki daftar node, setiap kali node ditambahkan atau diperbarui, blok itu akan diperbarui, tetapi sampai saat itu, versi cache digunakan. Yang jauh lebih baik daripada membangun kembali di setiap halaman.
Ini juga berfungsi dengan cache halaman, halaman-halaman itu akan diperbarui secara otomatis juga.
Banyak, banyak hal hanya bekerja dengan caching di luar kotak, tanpa perlu konfigurasi manual.
Edit (menanggapi komentar):
Acak dengan plugin sortir acak? Itu harus secara otomatis menandai blok itu sebagai non-cacheable. Namun itu tidak mempengaruhi modul cache halaman. Sekarang ada modul cache halaman smartcache / dinamis baru tetapi hanya akan berada dalam beta berikutnya (atau RC!). Itu pada akhirnya akan memungkinkan untuk me-cache sisa halaman dan hanya membangun bagian itu.
Tetapi kasus seperti ini mungkin paling baik diimplementasikan dengan menggunakan beberapa javascript. Jika hanya ada beberapa node yang dapat Anda tampilkan semuanya, disembunyikan secara default dan secara acak membuat salah satunya terlihat. Atau minta URL dengan javascript yang mengembalikan Iklan acak atau bahkan lebih baik kunjungi acak URL N yang masing-masing mengembalikan iklan (misalnya dengan mengembalikan daftar URL dan kemudian memilih salah satu dari mereka. Anda bahkan dapat melakukannya secara langsung untuk URL gambar .
sumber
Jika ini adalah blok khusus, maka Anda dapat menggunakan API Cache , dan mengatur usia cache maksimal ke 0, misalnya
Jika ini adalah blok yang ada, maka Anda dapat mengubahnya untuk menambahkan ini ke dalam render array.
sumber