hide()関数とunset()の違いは何ですか?


9

違いは何であるhide()とはunset()?一部の要素を非表示にしたいのですが、とを見つけましたがhide()unset()どの要素を使用すればよいかわかりません。

回答:


19

hide()unset()は同じではありません。hide()はDrupal関数であり、unset()はraw 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をTRUEに追加/置換するdrupal_renderrender()、テーマ関数を再度実行しない-代わりに、可能な場合はキャッシュされたバージョンを使用します

のサンプルユースケースはhide()、ノードテンプレートでコメントフォームを非表示にし、テンプレートの他の場所に表示することです。また、ページやブロックを変更するときにも役立ちます。別の場所で使用する場合は、配列をレンダリングしないで くださいunset()

特定のフォーム要素をユーザーから隠したいが、それでもフォーム構造を保持したい場合#accessは、要素のをに設定しFALSEます。

隠す()

drupal_render()

unset()

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.