0

私は hook_form_contact_site_form_alter を使用して Conact フォームを変更します。たとえば、配列を変更すると、すべてが正常に機能します。

  $form['firstname'] = array (
    '#type' => 'textfield',
    '#title' => t('FirstName'),
    '#maxlength' => 255,
    '#required' => true

  );

dpm($form); これを示しています:

ここに画像の説明を入力

それで、それは完璧です

...しかし、何もレンダリングされません! それはまだ古き良きデフォルトの連絡先フォームです: ここに画像の説明を入力

別のフックが私のものをオーバーライドするか、Drupal にフォームを再構築するように指示する必要があるのではないかと考えていました。API リファレンスにはまだ有用なものは見つかりませんでした。

他の誰かが同じ問題を抱えていたり、デバッグする良い方法を知っているのではないでしょうか?

前もって感謝します

ところで。contact_forms モジュールをインストールしましたが、再度アンインストールしました。これが関連している可能性があります。

4

1 に答える 1

1

を使用するときは、最初の引数を参照 ( )form_alterとして渡すことを忘れないでください。そうしないと、関数が実行されると、変数は変更されません。&$form$form

function hook_form_contact_site_form_alter(&$form, &$form_state, $form_id) {

}
于 2014-07-10T09:19:30.043 に答える