Saya mencoba membungkus kepala saya di sekitar filter kontekstual lagi! Saya menggunakannya beberapa waktu lalu tapi saya benar-benar bingung lagi. Inilah yang saya coba lakukan:
- Hasilkan halaman simpul konten yang dikloning dengan istilah taksonomi dimasukkan ke halaman yang dikloning ini.
mis .: EXAMPLE.com/shite-shoes/blue
Ketika pengguna mencapai halaman / sepatu putih itu akan menunjukkan halaman simpul asli diarahkan ke warna putih. Sekarang jika pengguna mendarat di / white-shoes / blue itu akan menampilkan halaman simpul yang sama, tetapi kali ini semua konten tubuh akan ditulis ulang menggantikan warna putih dengan warna biru.
Dalam Tampilan, saya harus membuat tampilan Halaman dengan jalur:% /%
Sekarang saya akan membuat filter kontekstual untuk mengambil nid. Saya menambahkan Konten: nid sebagai filter kontekstual. Saya memilih MEMBERIKAN NILAI DEFAULT dan saya memasukkan kode PHP ini:
$ x = drupal_lookup_path ('source', arg (0));
$ y = meledak ('/', $ x);
mengembalikan $ y 1 ;
Kode PHP itu pada dasarnya mengubah bagian / white-shoes dari URL menjadi NID. Tapi itu tidak berhasil. Saya menguji kode melalui drush ev melalui terminal dan saya memang mendapatkan hasil yang dikembalikan, jadi saya tahu itu berfungsi.
Saya melakukan hal yang sama untuk nama istilah taksonomi dan menambahkan filter kontekstual untuk itu juga. Kali ini saya memilih MEMBERIKAN NILAI DEFAULT dan memilih RAW VALUE DARI URL dan memilih argumen ke-2.
Seperti yang Anda lihat ketika saya memasukkan PREVIEW VALUE untuk filter kontekstual: AAA / BBB / CCC. Nilai default saya diabaikan. Seharusnya meraih argumen ke-2, tetapi hanya mendapatkan argumen ke-1. Lihatlah pernyataan SQL WHERE dan Anda akan melihatnya mendapatkan AAA padahal seharusnya BBB.
Jadi pertanyaannya adalah apa yang saya lakukan salah atau ada solusi yang lebih baik untuk apa yang ingin saya capai?
Jawaban:
Berikut adalah video dan artikel terkait yang akan menjelaskan cara menggunakannya, contohnya menggunakan Hewan Peliharaan (Anjing, Kucing) yang mungkin merupakan contoh yang cukup sederhana untuk membantu memahami cara menggunakan Filter Kontekstual Tampilan.
VIDEO: https://www.youtube.com/watch?v=lJFMTDuaxy8 (url video pendek YouTube: lJFMTDuaxy8)
ARTICLE: http://www.metaltoad.com/blog/using-drupal-contextual-filters-views
sumber
Filter Kontekstual digunakan untuk memfilter, menampilkan tampilan dengan argumen URL, Anda juga dapat mengirimkan argumen secara manual dalam format ini:
di mana "$ name" adalah nama tampilan Anda (mis. 'example_view') dan '$ display_id' adalah tipe tampilan dari tampilan Anda (mis. 'default') dan "$ arg1, $ arg2, $ arg3" adalah argumen seperti di URL.
Argumen URL memiliki struktur berikut:
http://example.com/arg_1/arg_2/arg_3 (arg_2 memiliki komponen jalur 2 (di halaman pengaturan tampilan)).
Ketika nilai filter tidak tersedia:
itu artinya drupal tidak dapat menemukan filter apa pun.
Berikan nilai default:
ketika nilai filter tidak tersedia, Anda dapat menggunakan opsi ini untuk membuat filter untuk output tampilan, filter ini bisa berupa kode PHP (jika modul filter PHP diaktifkan) atau bisa mendapatkan nilainya dari argumen URL -> (Nilai mentah dari url). Kotak teks Pengecualian memungkinkan Anda untuk menipu nilai dan menampilkan semua hasil.
Ketika nilai filter tersedia
dalam hal ini Anda melakukan validasi sesuai kebutuhan dan beberapa opsi lain, ketika drupal dapat menemukan nilai filter.
sumber
VALIDATION (type: PHP Code)
. Dengan opsi ini Anda dapat menggunakan objek tampilan dan melakukan semua yang Anda butuhkan. Dalam/blue
jalur kasus Anda yang dihasilkan oleh tampilan akan digunakan untuk mengambil id node alias itu juga.