qual é a diferença entre render()
e drupal_render()
afinal? Existe um motivo para usar apenas drupal_render ()?
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.