hide()函数和unset()有什么区别?


9

hide()和之间有什么区别unset()?我想隐藏一些元素,我发现了hide()unset(),但是我不知道应该使用哪个元素。

Answers:


19

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

隐藏()

drupal_render()

unset()

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.