drupal_set_message を使用して、ノードに関する情報、つまりそのコンテンツ タイプのすべてのフィールドなどを取得するにはどうすればよいですか? また、このステートメントの ['und'][0]['value'] の意味は何ですか? drupal_set_message($node->field_product_stock['und'][0]['value']);
2 に答える
drupal_set_message
実行された操作のステータスを反映するメッセージを設定します。関数が引数なしで呼び出された場合、この関数は設定されたすべてのメッセージをクリアせずに返します。
パラメーター
$message
: メッセージは大文字で始まり、常にピリオド「.」で終わります。
$type
: メッセージのタイプ。次のいずれかの値が可能です。
'status'
'warning'
'error'
$repeat
: これが FALSE で、メッセージが既に設定されている場合、メッセージは繰り返されません。
あなたのコードによると
$node->field_product_stock['und'][0]['value']
表示したいメッセージが含まれている必要があります。
1/ Dasun が書いたように、パラメータdrupal_set_message
として渡した文字列がユーザーに表示されます。$message
たとえば、デバッグのためにノード全体を出力したい場合は、devel
モジュールとそのヘルパー関数を使用することをお勧めします。dpm
ノードをメッセージ領域にきれいに出力します。つまり、
dpm( $node );
詳細については、 http://api.drupal.org/api/devel/devel.module/function/dpm/7を参照してください。
2/ 'und' は、D7 に焼き付けられた多言語サポートと関係があります。「未定義」の略です。フィールドは複数の値を持つことができるため、配列を含み、その配列には複数のキーを持つ配列を含めることができます。フィールドで使用されるデフォルトのキーは「値」です。
したがって、スペイン語の値とキー「target_id」を持つ複数値フィールドがあり、2 番目の値を取得したい場合は、次のようにします。
[ 'es' ][ 1 ][ 'target_id' ]