Jaka jest różnica między hide()
i unset()
? Chcę ukryć niektóre elementy, znalazłem hide()
i unset()
, ale nie wiem, którego powinienem użyć.
hide()
i unset
() nie są takie same. hide () to funkcja Drupala, a unset () to surowa funkcja php.
unset()
po prostu niszczy zmienną. Dla przykładu,
<?php
$name = 'Drupal';
unset($name);
print $name; // this will result an error as $name is no longer set. `isset()` will return FALSE.
hide()
NIE niszczy zmiennej. Przydatne jest oznaczenie, że niektóre tablice z możliwością renderowania są już renderowane, aby nie były renderowane ponownie .
to po prostu dodaje / zastępuje dany argumentem jest #printed
aby się prawdą Więc drupal_render
albo render()
nie będzie ponownie wykonać funkcje motywu - zamiast tego, będzie korzystał wersję pamięci podręcznej jeśli są dostępne .
Przykładowym przykładem użycia hide()
byłoby ukrycie formularza komentarza w szablonie węzła i pokazanie go gdzie indziej w szablonie. Przyda ci się również przy zmianie stron lub bloków. NIE rób unset()
tablicy renderowania, jeśli chcesz użyć jej gdzie indziej.
Jeśli chcesz ukryć jakiś określony element formularza przed użytkownikiem, ale nadal chcesz zachować strukturę formularza, ustaw #access
element na FALSE
.