7 私は試した: mymodule_form_node_alter mymodule_form_node_form_alter そしてグローバルフック: function mymodule_form_alter(&$form, $form_state, $form_id) { if ($form['#id'] == 'node-form') { #set message } } 上記のどれも私のために働きません。 すべてのノードフォームを呼び出すフックを作成する必要があります。可能であれば。 7 forms — ナトリウム ソース
11 function yourmodule_form_alter(&$form, &$form_state, $form_id) { if (strpos($form_id, '_node_form') !== FALSE) { // ... } } — ハミド・ニクメール ソース
20 /** * Implements hook_form_BASE_FORM_ID_alter(). */ function MYMODULE_form_node_form_alter(&$form, &$form_state) { // do staff } フックを追加した後にキャッシュをクリアする必要があるため、機能しませんでした。 — レクサット ソース これは、D7でノードフォームをターゲットにする正しい方法です。 — Devendra Jadhav 2015年
2 hook_form_BASE_FORM_ID_alter()共有フォームにフォーム固有の変更を提供するために使用します。あなたの例では、これは次のようになります: function yourmodule_form_node_form_alter(&$form, &$form_state, $form_id) { // code that runs on every node form } https://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_form_BASE_FORM_ID_alter/7 — いつか ソース
1 私はより良い解決策を見つけます: if (isset($form['#node'])) { } 別のソリューションは、使用することです:hook_form_BASE_FORM_ID_alter() — ナトリウム ソース