2011-12-21 9 views
0

Drupal 7では、プログラムでエンティティを作成しました。それは、フォームに名前、価格などのように追加いくつかのテキストフィールドがあります。Drupal 7、プログラムでfield_imageをエンティティに追加

$form['data']['name'] = array(
    '#type' => 'textfield', 
    '#title' => t('Name'), 
    '#default_value' => isset($model->data['name']) ? $model->data['name']: '', 
    '#maxlength' => 255, 
    '#required' => TRUE, 
    '#weight' => -3, 
); 

しかし、私はそれだけでなく、すべてのエンティティに複数の画像を追加できるようにしたいと思います。

フィールドを追加するためにDrupalのユーザーインターフェイスを使用する場合、「既存のフィールドを追加する」の下にある「Image:field_image(Image)」を選択できます。このフィールドには、私が必要とする動作があります。

エンティティにプログラムで追加するにはどうすればよいですか?

答えて

0

HOOK_form_alter()フックを使用して、Drupal UIで作成したコンテンツタイプを拡張することができます。

var_dump();を使用して複数のイメージフィールドを作成し、それをカスタム作成されたテンプレートの配列に追加すると、配列が何を生成しているかを知ることができます。

+0

$ form変数を 'hook_edit_form()'の最後に出力し、それを '$ form ['data'] ['images'] = array()'で手作業で実装することをお勧めしますか?アップロードされた各ファイルが配列の先頭に追加されるため、これは良い考えではありません。それとも私はここで何かを見逃していますか? –

関連する問題