¿Cuál es la diferencia entre hide()y unset()? Quiero ocultar algunos elementos, encontré hide()y unset(), pero no sé cuál debo usar.
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.