Bagaimana cara mengirim data HTTP POST / GET ke drupal?
misalnya: Saya punya formulir html:
<form action="mydrupalcite.com" method="get">
<input type="text" name="title" />
</form>
bagaimana cara memasukkan title
data ke dalam modul jawaban drupal? (atau modul apa saja?)
Saya mencari cara drupal untuk melakukan ini (saya relatif baru di Drupal dan bagaimana cara kerjanya)
Apakah ada hubungannya dengan modul Layanan?
Jawaban:
API formulir Drupal memiliki perlindungan CSRF bawaan , jadi mengirimkan formulir dari domain eksternal tidak akan berfungsi. Anda bisa melihat menonaktifkan CSRF (ide yang sangat buruk), atau seperti yang Anda sarankan, gunakan modul Layanan.
Tidak ada pemetaan satu-ke-satu antara modul layanan dan formulir di situs, melainkan modul yang mengimplementasikan sumber daya untuk tugas-tugas tertentu untuk dikonsumsi dari klien eksternal. Anda mendapatkan simpul, pengguna, istilah taksonomi, dan mungkin orang lain secara default. Jadi Anda dapat (misalnya) menambahkan node / user / term baru, tetapi Anda melakukannya dengan mengirimkan permintaan xml / json / etc ke server setelah diautentikasi, bukan dengan mengirimkan formulir seperti itu.
Mendapatkan data bekerja dengan cara yang sama. Anda dapat menggunakan Layanan untuk melakukan itu, atau jika Anda dapat mengelola / tidak memerlukan otentikasi Anda sendiri, lihat jawaban indrock untuk metode yang baik.
Layanan sangat dapat dikembangkan, sehingga meskipun modul jawaban tidak mengimplementasikan sumber daya, itu pekerjaan yang cukup mudah untuk menambahkan milik Anda yang membungkus fungsi API dari modul jawaban (atau modul lainnya).
The dokumentasi untuk jasa mungkin akan menjadi tempat yang baik untuk memulai.
sumber
Pertama-tama Anda harus membuat halaman (URL) di Drupal untuk mendapatkan parameter ini. Anda dapat melakukan ini dengan menerapkan
hook_menu()
, dalam modul khusus Anda. Lihat ini untuk membuat modul khusus Anda .Ini akan membuat halaman di situs Anda di url http://mydrupalsite.com/get_details
Sekarang, dari HTML Anda lakukan panggilan seperti
CATATAN: Sesuai jawaban @ clive, saya sarankan Anda menggunakannya hanya untuk tujuan pengembangan / pendidikan. Ini mungkin memiliki implikasi keamanan.
sumber