web-dev-qa-db-ja.com

プログラムでテキストのオートコンプリートウィジェットを追加する方法

以下の抜粋を使用して、複合フィールド(詳細 ここ )にテキストオートコンプリートウィジェットを含めようとしましたが、フィールドはオートコンプリートしません。何が悪いのですか?

  $element['contact_name'] = array(
    '#title' => t('Name'),
    '#type' => 'textfield',
    '#default_value' => $defaults['contact_name'],
    '#weight' => 2,
    '#size' => '100',
    '#max_length' => '255',
    '#widget_type' => 'autocomplete_widgets_flddata',
    '#autocomplete_match' => 'contains',
    '#autocomplete_case' => '0',
    '#widget_module' => 'autocomplete_widgets',
  );
3
Vacilando

それで、hook_form_alterを通じてそれを行おうとしている場合は、 CCKフィールドの変更に関するドキュメント を読む必要があります。

短いバージョン:CCKフィールドは、フォームの作成後に処理されます。それらの中で何かを変更したい場合は、$form['#after_build']にコールバックを追加する必要があります(ただし配列を置き換えないでください。それ)。次に、関数を実装し、$formの値を変更して、$formを返します。

2
Capi Etheriel