Bagaimana membatasi akses langsung ke node tetapi hanya memungkinkan pandangan untuk mengakses bidang yang diperlukan dari jenis node tertentu?
Sebagai contoh di Tampilan Slideshow kami menggeser bidang gambar yang termasuk jenis simpul tertentu. Tapi kami tidak ingin mesin pencari mengakses & pengunjung mengakses node milik tipe node itu.
Ada saran?
Membatasi Tampilan Halaman Node tampaknya merupakan cara yang lebih baik untuk membatasi akses langsung ke node jenis konten tertentu.
Penggunaannya juga cukup sederhana, Anda hanya perlu mengaktifkan modul ini dan mengkonfigurasi izin untuk node yang langsung dapat diakses seperti biasa.
http://drupal.org/project/restrict_node_page_view
Dari halaman proyek:
sumber
Modul lain yang melakukan hal yang sama tetapi dengan lebih banyak fungsi.
Lubang kelinci
Pemelihara proyek ini meminta "Batasi Tampilan Node Halaman" Pemelihara untuk menggabungkan proyek dalam masalah.
Keuntungan terhadap "Batasi Tampilan Node Halaman":
Kerugian terhadap "Batasi Tampilan Node Halaman":
sumber
Anda harus menggunakan
node_access()
, ada beberapa opsi yang dapat Anda implementasikan dengan mudahhook_node_access()
. Menerapkannode_access()
memungkinkan Anda untuk membuat keputusan tentang siapa yang dapat mengakses node dan siapa yang dapat membuat, menghapus, mengedit, atau memperbarui node tersebut. Tampilan, bagaimanapun, masih dapat menarik data dari node ini sama sekali.hook_node_access () , node_access ()
sumber
Terinspirasi oleh https://www.drupal.org/project/restrict_node_page_view Anda dapat menulis modul kecil sendiri:
sumber
Menggunakan modul Aturan Anda dapat menerapkan aturan yang terlihat mirip dengan ini:
Aturan di atas tidak (belum) memperhitungkan untuk hanya menerapkan "tindakan" untuk peran yang dipilih saja (misalnya agar admin masih dapat menggunakan jalur ini untuk melihat node). Tetapi bagi siapa pun yang sedikit terbiasa dengan modul Aturan, itu adalah "Ketentuan" untuk menambahkan ...
Untuk bereksperimen dengan aturan ini di situs Anda sendiri, cukup salin seluruh kode Aturan di atas, dan rekatkan dalam Aturan baru di situs Anda sendiri, yang dibuat melalui fungsi "Impor". Kemudian edit / sempurnakan lebih lanjut agar sesuai dengan lingkungan Anda sendiri (mis. Pesan "Maaf, ..." yang akan ditampilkan).
sumber