Saat membaca dokumentasi kerangka Ajax saya menemukan menyebutkan #ajax
properti. Saya tahu dari menyodok kode bahwa ada orang lain dari properti ini dengan tanda-tanda hash di depan mereka. Apa yang ditandakan oleh tanda hash? Tentang apakah semua properti ini?
22
Jawaban:
Ini berkaitan dengan array render secara umum, ini bukan hanya khusus untuk AJAX atau API form (meskipun API form menggunakan array render secara eksklusif untuk membangun kontennya).
Sederhananya, kunci array dalam array render tanpa
#
di depan nama dipandang sebagai anak-anak dari array render, dan kemudian diberikan sendiri (secara rekursif).Mereka dengan sebuah
#
di depan mereka dilihat sebagai meta data / variabel untuk membuat array untuk digunakan sebagai diperlukan, dan diri mereka sendiri tidak diberikan.Documents render array (ditautkan ke atas) sebenarnya menempatkan ini dengan bagus dan ringkas:
The
#
kunci adalah 'petunjuk' bahwa ayat di atas berbicara tentang, non-#
kunci adalah data bersarang.Saya benar-benar akan merekomendasikan agar halaman itu dibaca, itu melakukan pekerjaan yang baik untuk menghilangkan mistis seluruh hal array render, dan memberikan contoh kode.
Ada juga penjelasan kecil / contoh kode lain pada halaman Dokumen yang mungkin berguna.
Render array digunakan di semua tempat di Drupal (bentuk, tema, markup umum, dll.) Sehingga mengetahui sedikit tentang mereka akan banyak membantu pengembangan Drupal di masa depan.
sumber
Formulir API menggunakan # di depan semua properti, untuk membuat perbedaan antara properti, dan elemen anak. Dalam kode berikut,
$form['choice_wrapper']['choice']
adalah elemen turunan, sementara$form['choice_wrapper']['#tree']
adalah properti.Semua properti tersebut tercantum dalam referensi API Formulir . Ada banyak properti, tetapi semuanya tentang rendering, validasi, dan pengiriman.
Alasan untuk menggunakan awalan untuk properti adalah untuk dapat dengan cepat menyaring properti dari elemen turunan , yang berguna ketika mereka perlu dirender, misalnya dengan drupal_render () , yang berisi kode berikut.
Jika Anda melihat element_children () , Anda akan melihat kode untuk menyaring properti adalah yang berikut.
sumber