Відповіді:
hide()
і unset
() не однакові. hid () - це функція 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
.