Antworten:
hide()
und unset
() sind nicht gleich. hide () ist eine Drupal-Funktion und unset () ist eine rohe PHP-Funktion.
unset()
zerstört einfach eine Variable. Zum Beispiel,
<?php
$name = 'Drupal';
unset($name);
print $name; // this will result an error as $name is no longer set. `isset()` will return FALSE.
hide()
zerstört die Variable NICHT. Es ist nützlich zu markieren, dass ein renderfähiges Array bereits gerendert ist, damit es nicht erneut gerendert wird .
es fügt einfach / ersetzt das gegebene Argument ist #printed
auf TRUE so drupal_render
oder render()
wird das Thema wieder funktioniert nicht ausführen - stattdessen wird es im Cache gespeicherte Version verwenden , wenn verfügbar .
Ein Beispiel für einen Anwendungsfall hide()
wäre, das Kommentarformular in einer Knotenvorlage auszublenden und an einer anderen Stelle in der Vorlage anzuzeigen. Sie finden es auch nützlich, wenn Sie Seiten oder Blöcke ändern. Machen Sie KEIN unset()
Render-Array, wenn Sie es woanders verwenden möchten.
Wenn Sie ein bestimmtes Formularelement vor dem Benutzer verbergen möchten, aber dennoch die Formularstruktur beibehalten möchten, setzen Sie #access
das Element auf FALSE
.