Saya mencoba mengambil beberapa tampilan dengan modul services_views . Sedihnya, saya terus mendapatkan respons: "404: Tidak ditemukan: Tampilan pada tampilan my_view_name tidak dapat ditemukan".
Saya menggunakan Tampilan 3 dan saya menentukan untuk menguji tampilan dengan tampilan id 'halaman'. (id tampilan default bukan "default" lagi)
Saya tahu bahwa saya harus melewati argumen display_id tetapi tidak bisa membuatnya berfungsi.
Ini adalah panggilan yang saya coba gunakan:
http://www.mywebsite.com/rest/views/my_view_name.json?display_id="page"
http://www.mywebsite.com/rest/views/my_view_name.json?display_id=page
http://www.mywebsite.com/rest/views/my_view_name.json?parameters[display_id]="page"
http://www.mywebsite.com/rest/views/my_view_name.json?args[display_id]="page"
Dalam definisi sumber daya untuk layanan, jelas display_id harus diteruskan sebagai argumen.
'args' => array(
'view_name' => array(
'name' => 'view_name',
'type' => 'string',
'description' => 'The name of the view to get.',
'source' => array('path' => '0'),
'optional' => FALSE,
),
'display_id' => array(
'name' => 'display_id',
'type' => 'string',
'description' => 'The display ID of the view to get.',
'source' => 'param',
'optional' => TRUE,
'default value' => 'default',
),...
Adakah yang berhasil membuat karya ini?
Terima kasih.
Jawaban:
Pada halaman masalah Drupal.org untuk modul ini, seseorang menyarankan yang berikut untuk versi 7.x.
Saya sudah mencoba menjalankan ini pada 6.x tetapi belum berhasil.
sumber
Jika Anda menginstal Firefox, atau Firebug, Anda dapat melihat sumber HTML untuk mendapatkan display_id. Lihat tangkapan layar ini (dan abaikan argumen halaman saya!):
sumber
Saya menghadapi masalah yang sama dengan services_views untuk meneruskan argumen ke tampilan yang disebut oleh permintaan layanan dan saya menyelesaikannya dengan menerapkan tambalan di modul tanpa itu tidak akan berhasil.
Ini patch yang berbeda dari proyek saya
Saya tidak ingat tautan ke tambalan tetapi itu mungkin membantu melihat masalah tampilan layanan
Jika Anda membuat tampilan layanan untuk tampilan Anda akan melihatnya sebagai sumber daya itu sendiri.
Semoga itu bisa membantu
sumber
Peluang yang Anda inginkan
display_id=page_1
. Thedisplay_id
parameter harus menjadi internal yang id layar. AFAIK tampilan default selalu memiliki id 'default'.ID dari setiap tampilan halaman tambahan yang Anda buat tidak terlihat di UI Drupal 6, tetapi Anda dapat mengetahuinya dengan melakukan ekspor pada tampilan Anda dan melihat kode yang dihasilkan.
Setiap tampilan dibuat dengan panggilan ke
$view->new_display()
tempat parameter ketiga id (lihat views_db_object :: new_display ).sumber