Saya memiliki pandangan yang menerima filter kontekstual untuk mengembalikan hasil yang benar. Saya menggunakan Layanan 3 dan Drupal 7. Saya dapat membuat titik akhir, dan mengambil tampilan melalui layanan. Tetapi sepertinya tidak ada cara untuk melewatkan filter kontekstual, karena services_views hanya memiliki metode pengambilan (yang menggunakan GET). Adakah yang tahu apakah ini mungkin, dan jika demikian bagaimana hal itu bisa dilakukan?
11
Ini adalah pertanyaan yang sudah dijawab, tetapi untuk orang lain yang menjelajah di sini di masa depan, saya akan merekomendasikan menggunakan dan melihat dokumentasi di Services Views . Itu menjabarkan bagaimana cara melewatkan filter kontekstual bersama dengan sekelompok argumen lain yang mungkin, dan memiliki video demo dan menunjukkan contoh.
sumber
Jika Anda harus menggunakan beberapa nilai dalam filter kontekstual Anda, saya sarankan melakukan hal berikut:
return str_replace("|", "+", $_GET['nid']);
Sekarang saat memanggil layanan Anda, berikan filter kontekstual Anda seperti itu: ... / my_service? Nid = 1 | 2 | 3
sumber
Bagi Anda yang masih mengalami masalah, pastikan bahwa saat Anda menambahkan Filter ke Tampilan, di bawah pengaturan untuk Bidang yang ditentukan, ada pengidentifikasi Filter. Ini perlu argumen yang dilewatkan ke querystring dalam dua format yang tercantum pada dokumentasi Layanan Views.
sumber
Saya bisa mendapatkan filter kontekstual dengan Layanan Drupal dengan: 1) mengaktifkan modul 'Views Contextual Filter Query' ( https://drupal.org/project/views_contextual_filter_query ) 2) meneruskan filter kontekstual melalui URL sebagai querystring.
Dalam filter kontekstual, Anda harus memilih 'KETIKA NILAI FILTER TIDAK TERSEDIA' -> 'Parameter Kueri dari URL. Anda kemudian dapat menambahkan nama parameter yang akan Anda gunakan di URL. Ini juga memungkinkan Anda untuk menggunakan tanda + dan | karakter untuk memilih beberapa kriteria filter.
sumber