apa perbedaan antara render () dan drupal_render ()?

26

apa perbedaan antara render()dan drupal_render()lagi pula? Apakah ada alasan untuk menggunakan hanya drupal_render ()?

Pan Chrono
sumber

Jawaban:

31

Dokumen untuk render()menjelaskannya dengan cukup baik:

Fungsi ini membuat elemen menggunakan drupal_render (). Elemen tingkat atas ditunjukkan dengan show () sebelum rendering, jadi itu akan selalu di-render bahkan jika hide () sudah pernah digunakan sebelumnya.

render()pada dasarnya hanya pembungkus untuk drupal_render(), kecuali bahwa itu memastikan elemen yang dilewatkan diatur untuk ditampilkan ketika diteruskan ke drupal_render().

Itu juga memastikan elemen yang diteruskan adalah array (yang semuanya drupal_render()dapat menerima). Jika tidak, elemen akan kembali seperti semula. Jadi itu memberikan sedikit jaring pengaman jika Anda suka.

Jika karena alasan apa pun Anda memiliki variabel yang harus Anda render, dan Anda tidak tahu apakah itu string atau array render, Anda dapat meneruskannya langsung render()tanpa harus menguji sendiri jenis variabelnya.

Untuk beberapa contoh dunia nyata dari situasi semacam itu ada daftar panggilan yang dapatrender() Anda telusuri.

Clive
sumber