Яка різниця між функцією сховання () та unset ()?


9

У чому різниця між hide()і unset()? Я хочу приховати деякі елементи, знайдені hide()і unset(), але не знаю, який з них я повинен використовувати.

Відповіді:


19

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.

сховати ()

drupal_render ()

скасувати ()

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.