quelle est la difference entre render () et drupal_render ()?

26

quelle est la différence entre render()et de drupal_render()toute façon? Y a-t-il une raison d'utiliser uniquement drupal_render ()?

Pan Chrono
la source

Réponses:

31

La documentation pour l' render()expliquer assez bien:

Cette fonction rend un élément à l'aide de drupal_render (). L'élément de niveau supérieur est affiché avec show () avant le rendu, il sera donc toujours rendu même si hide () y avait été précédemment utilisé.

render()est fondamentalement juste un wrapper pour drupal_render(), sauf qu'il s'assure que l'élément transmis est défini pour être affiché lors de son passage vers drupal_render().

Il s'assure également que l'élément transmis est un tableau (que tout le monde drupal_render()peut accepter). Si ce n'est pas le cas, l'élément est retourné tel quel. Il offre donc un peu de filet de sécurité si vous le souhaitez.

Si, pour une raison quelconque, vous avez une variable à rendre et que vous ne savez pas s'il s'agit d'une chaîne ou d'un tableau de rendu, vous pouvez la passer directement render()sans avoir à tester le type de variable vous-même.

Pour obtenir des exemples concrets de ce genre de situation, il existe une liste d'appels querender() vous pouvez consulter.

Clive
la source