2012-03-24 6 views
0

長いクエストの後、最終的にnode.tpl.phpのDrupal 7で$ contentを分割するソリューションを得ました。以前

私が使用していた使用していました:

print $node->field_name['und'][0]['value']; 
警告与えていた

:私は、エラーなしで正常に動作、それ以下の機能を使用しています今

Notice: Undefined offset: 0 in include() (line 24 of C:\xampp\htdocs\drup\sites\all\themes\myCustomTheme\node.tpl.php) 

$output= field_get_items('node', $node, 'field_name'); 
$output = $output[0]['safe_value']; 
print $output; 

問題はページ上に50個以上のフィールドがあることです。効率的ではないと思いますfield_get_items( 'node'、$ node、 'field_name')関数を50回呼び出します。

代替とは何ですか? ORはfield_get_items関数に厳密にする必要があります ORはprint $ node-> field_name ['und'] [0] ['value']に厳密にする必要があります。 undupが定義されていないのでDrupal 7で使うのは良くないと聞きました。これは私の問題を解決しますが、刺激的な警告を出します。

答えて

0

テンプレートでは、前処理された変数にアクセスできる必要があります。

あなたのフィールドのそれぞれは、あなたが$ FIELD_NAMEを行うことができますので、[LANGUAGE_NONE] [0] [「safe_value」]

は、エラー通知を取り除くために、実際に変数であり、私はあなたがISSET()関数を使用することを示唆しています

関連する問題