Was ist der Unterschied zwischen render()
und überhaupt drupal_render()
? Gibt es einen Grund, nur drupal_render () zu verwenden?
Was ist der Unterschied zwischen render()
und überhaupt drupal_render()
? Gibt es einen Grund, nur drupal_render () zu verwenden?
Antworten:
Die Dokumentation für render()
erklärt es ziemlich gut:
Diese Funktion rendert ein Element mit drupal_render (). Das Element der obersten Ebene wird vor dem Rendern mit show () angezeigt, sodass es immer gerendert wird, selbst wenn hide () zuvor verwendet wurde.
render()
ist im Grunde nur ein Wrapper für drupal_render()
, außer dass er sicherstellt, dass das übergebene Element so eingestellt ist, dass es angezeigt wird, wenn es an übergeben wird drupal_render()
.
Es stellt außerdem sicher, dass das übergebene Element ein Array ist (das von allen drupal_render()
akzeptiert werden kann). Ist dies nicht der Fall, wird das Element unverändert zurückgegeben. Es ist also ein Sicherheitsnetz, wenn Sie möchten.
Wenn Sie aus irgendeinem Grund eine Variable haben, die Sie rendern müssen, und nicht wissen, ob es sich um eine Zeichenfolge oder ein Render-Array handelt, können Sie sie direkt durchlaufen, render()
ohne den Variablentyp selbst testen zu müssen.
Für einige reale Beispiele dieser Art von Situation gibt es eine Liste von Anrufen, dierender()
Sie durchsehen können.