¿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 #printed
que tan cierto drupal_render
o 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 #access
el elemento en FALSE
.