Answers:
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
为TRUE,drupal_render
否则render()
将不会再次执行主题功能-而是使用缓存版本(如果有)。
的一个示例用例是hide()
将注释表单隐藏在节点模板中,并将其显示在模板中的其他位置。当更改页面或块时,您还将发现它很有用。千万不要 unset()
,如果你想在其他地方使用它渲染阵列。
如果你想隐藏用户的某些特定形式的元素,但仍想保留的形式结构,设置#access
的元素的FALSE
。