Qual é a diferença entre a função hide () e unset ()?

9

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.

Brian
fonte

Respostas:

19

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 #printedcomo TRUE, drupal_renderou 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 #accesso elemento como FALSE.

ocultar()

drupal_render ()

unset ()

AyeshK
fonte