Jaka jest różnica między render()
i drupal_render()
tak? Czy istnieje powód, aby używać tylko drupal_render ()?
Dokumenty render()
wyjaśniają to całkiem dobrze:
Ta funkcja renderuje element za pomocą drupal_render (). Element najwyższego poziomu jest wyświetlany za pomocą show () przed renderowaniem, więc zawsze będzie renderowany, nawet jeśli wcześniej użyto w nim hide ().
render()
jest w zasadzie tylko opakowaniem drupal_render()
, z tą różnicą, że upewnia się, że przekazywany element jest ustawiony tak, aby był pokazywany po przekazaniu do drupal_render()
.
Daje również pewność, że przekazany element jest tablicą (wszystko drupal_render()
można zaakceptować). Jeśli tak nie jest, element jest zwracany w niezmienionej postaci. Zapewnia to trochę siatki bezpieczeństwa, jeśli chcesz.
Jeśli z jakiegoś powodu masz zmienną, którą musisz wyrenderować, i nie wiesz, czy jest to ciąg znaków, czy tablica renderowania, możesz przekazać ją render()
bez konieczności samodzielnego testowania typu zmiennej.
W niektórych rzeczywistych przykładach tego rodzaju sytuacji można przejrzeć listę połączeń dorender()
ciebie.