Ответы:
hide()и unset() не одинаковы. hide () - это функция Drupal, а unset () - необработанная функция php.
unset()просто уничтожает переменную. Например,
<?php
$name = 'Drupal';
unset($name);
print $name; // this will result an error as $name is no longer set. `isset()` will return FALSE.
hide()НЕ уничтожает переменную. Полезно отметить, что некоторый массив для визуализации уже визуализирован, поэтому он не будет визуализирован снова .
он просто добавляет / заменяет данный аргумент это #printedна логическую единицу, так drupal_renderили render()не будет выполнять функции тему снова - вместо этого, он будет использовать кэшированные версии , если имеется .
Пример использования: hide()скрыть форму комментария в шаблоне узла и показать ее где-нибудь еще в шаблоне. Вы также найдете это полезным при изменении страниц или блоков. Вы НЕ unset() рендер массива , если вы хотите использовать его где - нибудь в другом месте.
Если вы хотите скрыть какой-то определенный элемент формы от пользователя, но при этом хотите сохранить структуру формы, установите #accessдля этого элемента значение FALSE.