Jaka jest różnica między render()i drupal_render()tak? Czy istnieje powód, aby używać tylko drupal_render ()?
Jaka jest różnica między render()i drupal_render()tak? Czy istnieje powód, aby używać tylko drupal_render ()?
Odpowiedzi:
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.