Pertimbangkan gurun modul:
- Halaman 1:-
deserts/*
- halaman 2:-
deserts/*/*
- halaman3: -
deserts/*/*/*
Konten dinamis ...
Saya memiliki tiga blok, yaitu a, b dan c:
- Blok a harus ditampilkan hanya di halaman1
- Blok b harus ditampilkan hanya di halaman2
- Blok a harus ditampilkan hanya di halaman3
Bagaimana seharusnya pembatasan itu dilakukan?
desert/*/*/
desert/*/edit
harus ditampilkan oleh blok saya untuk semua yangdesert/*/*
tidak untuk.desert/*/edit
Dalam kasus seperti itu tidak berfungsi untuk saya ..*
berarti wildcard. Jadi meminta solusi di mana blok muncul untukdesert/*/*
menyiratkan bahwa itu harus munculdesert/*/edit
atau, dalam hal inidesert/*/whatever
,.Jawaban:
Gunakan modul konteks . Meskipun saya biasanya bukan penggemar modul ini, ini adalah salah satu kasus yang berguna.
Tambahkan kondisi untuk jalur. Jadi jika saya ingin blok pada halaman 1, tetapi bukan halaman 2 atau 3, saya akan menulis path seperti itu, satu untuk setiap blok:
Kasus 1 - Blok A
Kasus 2 - Blok B
Kasus 3- Blok C
~ Berarti untuk mengecualikan dalam kasus ini. Setelah itu, tambahkan blok ke wilayah yang Anda inginkan untuk muncul. Anda juga dapat menambahkan kembali di jalur tertentu yang mungkin dikecualikan, dan sebaliknya.
sumber
Anda dapat menggunakan opsi visibilitas "Halaman tempat kode PHP ini mengembalikan BENAR (khusus pakar)". Tetapi memasukkan kode PHP ke dalam basis data, IMHO, adalah praktik yang buruk. Sebagai gantinya, pertimbangkan untuk menggunakan sesuatu seperti modul visibilitas blok Extended atau implementasi
hook_block_list_alter()
sepertiCatatan: Mungkin ada cara yang lebih cerdas untuk menerapkan aturan visibilitas Anda.
sumber
Anda harus dapat membuatnya berfungsi menggunakan modul visibilitas blok Aturan . Berikut ini kutipan dari halaman proyeknya:
Dengan itu, dan sesuai " jika Anda dapat melakukannya dengan Aturan, Anda dapat menggunakannya untuk mengontrol visibilitas blok " di atas, Anda telah mengurangi pertanyaan Anda untuk membuat Aturan mencegat berbagai URL yang sesuai dengan halaman Anda1, halaman2 dan halaman3.
sumber