Quelle est la différence entre la fonction hide () et unset ()?

9

Quelle est la difference entre hide()et unset()? Je veux cacher certains éléments, j'ai trouvé hide()et unset(), mais je ne sais pas lequel utiliser.

Brian
la source

Réponses:

19

hide()et unset() ne sont pas identiques. hide () est une fonction Drupal et unset () est une fonction php brute.

unset()détruit simplement une variable. À titre d'exemple,

<?php
$name = 'Drupal';
unset($name);
print $name; // this will result an error as $name is no longer set. `isset()` will return FALSE. 

hide()ne détruit PAS la variable. Il est utile de marquer qu'un tableau pouvant être rendu est déjà rendu afin qu'il ne soit pas rendu à nouveau .

il ajoute simplement / remplace l'argument donné est #printedvrai , alors drupal_renderou render()ne sera pas exécuter les fonctions de thème à nouveau - à la place, il utilisera la version mise en cache si elle est disponible .

Un exemple d'utilisation hide()serait de masquer le formulaire de commentaire dans un modèle de nœud et de l'afficher ailleurs dans le modèle. Vous le trouverez également utile lors de la modification de pages ou de blocs. N'utilisez PAS unset() un tableau de rendu si vous souhaitez l'utiliser ailleurs.

Si vous souhaitez masquer un élément de formulaire spécifique à l'utilisateur tout en conservant la structure du formulaire, définissez #accessl'élément sur FALSE.

cacher()

drupal_render ()

unset ()

AyeshK
la source