hook_form_alter()
のノードオブジェクトにアクセスしようとしていますが、次のエラーがスローされます。
注意:未定義のインデックス:#node in
themename_form_alter()
私が使用しているコードは次のとおりです。
_function themename_form_alter(&$form, $form_state, $form_id)) {
$node = $form['#node'];
}
_
hook_form_alter()
でノードオブジェクトにアクセスする方法はありますか?
すべてのフォームにノードへの参照が含まれているわけではありません。ノードオブジェクトを含むのは単なるノードフォームですが、Drupalから出力されるすべてのフォームに対してhook_form_alter()
が呼び出されます。
次のことを行う必要があります。
_$form['#node']
_が設定されていることを確認します
_if (isset($form['#node'])) {
// …
}
_
任意のコンテンツタイプのノード編集フォームを変更する場合はhook_form_node_form_alter()
のような別のフックを使用し、_$type
_コンテンツタイプのノード編集フォームの場合はhook_form_$type_node_form_alter()
を使用します。