qual é a diferença entre render () e drupal_render ()?

26

qual é a diferença entre render()e drupal_render()afinal? Existe um motivo para usar apenas drupal_render ()?

Pan Chrono
fonte

Respostas:

31

Os documentos para render()explicá-lo muito bem:

Esta função renderiza um elemento usando drupal_render (). O elemento de nível superior é mostrado com show () antes da renderização; portanto, ele sempre será renderizado, mesmo que hide () tenha sido usado anteriormente nele.

render()é basicamente apenas um invólucro drupal_render(), exceto pelo fato de garantir que o elemento transmitido esteja configurado para ser mostrado quando transmitido para drupal_render().

Também garante que o elemento transmitido seja uma matriz (que tudo drupal_render()pode aceitar). Caso contrário, o elemento retornará como está. Por isso, fornece um pouco de rede de segurança, se você quiser.

Se, por algum motivo, você precisar renderizar uma variável e não souber se é uma sequência de caracteres ou uma matriz de renderização, poderá transmiti-la diretamente render()sem precisar testar o tipo de variável.

Para alguns exemplos do mundo real desse tipo de situação, há uma lista de chamadas pararender() você ver.

Clive
fonte