В чем разница между hide()
и unset()
? Я хочу скрыть некоторые элементы, я нашел hide()
и unset()
, но я не знаю, какой из них я должен использовать.
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
.