Câu trả lời:
hide()
và unset
() không giống nhau. hide () là một hàm Drupal và unset () là một hàm php thô.
unset()
chỉ đơn giản là phá hủy một biến. Ví dụ,
<?php
$name = 'Drupal';
unset($name);
print $name; // this will result an error as $name is no longer set. `isset()` will return FALSE.
hide()
KHÔNG phá hủy biến. Thật hữu ích khi đánh dấu một số mảng có khả năng kết xuất đã được hiển thị để nó sẽ không được hiển thị lại .
nó chỉ đơn giản thêm / thay thế các lập luận cho là #printed
để để TRUE drupal_render
hoặc render()
sẽ không thực hiện các chức năng chủ đề một lần nữa - thay vào đó, nó sẽ sử dụng phiên bản cache nếu có .
Một trường hợp sử dụng mẫu hide()
sẽ là để ẩn mẫu nhận xét trong một mẫu nút và hiển thị nó ở một nơi khác trong mẫu. Bạn cũng sẽ thấy nó hữu ích khi thay đổi trang hoặc khối. Đừng KHÔNG unset()
render mảng nếu bạn muốn sử dụng nó ở một nơi khác.
Nếu bạn muốn ẩn một số phần tử biểu mẫu cụ thể khỏi người dùng nhưng vẫn muốn giữ cấu trúc biểu mẫu, hãy đặt #access
phần tử thành FALSE
.