Qual é a diferença entre hide()
e unset()
? Eu quero esconder alguns elementos, encontrei hide()
e unset()
, mas não sei qual deles devo usar.
hide()
e unset
() não são os mesmos. hide () é uma função Drupal e unset () é uma função php bruta.
unset()
simplesmente destrói uma variável. Por exemplo,
<?php
$name = 'Drupal';
unset($name);
print $name; // this will result an error as $name is no longer set. `isset()` will return FALSE.
hide()
NÃO destrói a variável. É útil marcar que uma matriz com capacidade de renderização já foi renderizada para não ser renderizada novamente .
simplesmente adiciona / substitui o argumento fornecido #printed
como TRUE, drupal_render
ou render()
não executa as funções do tema novamente - em vez disso, usará a versão em cache, se disponível .
Um exemplo de caso de uso hide()
seria ocultar o formulário de comentário em um modelo de nó e mostrá-lo em outro lugar no modelo. Você também achará útil ao alterar páginas ou blocos. NÃO faça unset()
uma matriz de renderização se quiser usá-la em outro lugar.
Se você deseja ocultar algum elemento de formulário específico do usuário, mas ainda deseja manter a estrutura do formulário, defina #access
o elemento como FALSE
.