以下の抜粋を使用して、複合フィールド(詳細 ここ )にテキストオートコンプリートウィジェットを含めようとしましたが、フィールドはオートコンプリートしません。何が悪いのですか?
$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',
);
それで、hook_form_alterを通じてそれを行おうとしている場合は、 CCKフィールドの変更に関するドキュメント を読む必要があります。
短いバージョン:CCKフィールドは、フォームの作成後に処理されます。それらの中で何かを変更したい場合は、$form['#after_build']
にコールバックを追加する必要があります(ただし配列を置き換えないでください。それ)。次に、関数を実装し、$form
の値を変更して、$form
を返します。