Respuestas:
hide()y unset() no son lo mismo. hide () es una función de Drupal y unset () es una función de PHP sin procesar.
unset()simplemente destruye una variable. Para un ejemplo,
<?php
$name = 'Drupal';
unset($name);
print $name; // this will result an error as $name is no longer set. `isset()` will return FALSE.
hide()NO destruye la variable. Es útil marcar que una matriz que se puede renderizar ya está renderizada para que no se vuelva a procesar .
simplemente añade / reemplaza el argumento dado es #printedque tan cierto drupal_rendero render()no ejecutará las funciones de temas de nuevo - en su lugar, se utilizará la versión en caché si está disponible .
Un ejemplo de caso de uso hide()sería ocultar el formulario de comentarios en una plantilla de nodo y mostrarlo en otro lugar de la plantilla. También lo encontrará útil al modificar páginas o bloques. No NO unset() un render matriz si desea utilizar en otro lugar.
Si desea ocultar algún elemento de formulario específico del usuario pero aún desea mantener la estructura del formulario, establezca #accessel elemento en FALSE.