Drupal の CCK には、単一の CCK フィールドが「別の項目を追加」ボタンを介して複数の値を受け入れることができるという便利な機能があり、その結果、ノードにデータの配列が作成されます。
で呼び出す非 CCK フォームにこれを適応させる簡単な方法があるかどうか疑問に思っていますdrupal_get_form
。多段階のフォーム テクニックを使用して車輪を再発明する必要はありません。
誰かがこれをしましたか?
より縮小された例が含まれていればよかったのですが、この DrupalでのAHAH の紹介 と、AHAHを使用した動的フォーム要素の追加に関するこの投稿で、必要なものはほとんどカバーされているはずです (残念ながら、これはかなりの量です)。
CCK がこれを行う方法 (主にcontent_add_more_js()
content.node_form.inc 内) は、さまざまなフィールド タイプの一般化に対応する必要があるため、もう少し複雑です。したがって、後者が必要でない限り、少し混乱するので、例として使用したくありません;)
回答のほんの一部です、すみません。誰もあなたにより良い答えを与えず、私に時間があれば、明日はもう少し詳しく説明します.
検討しているフィールドに (Drupal 標準 js ライブラリからの) drupal 動作をアタッチすることで機能が実現されると思います。私が間違っていれば、それは単なる「アドホック」な jQuery 関数です。
ただし、それは簡単な部分です。;) 難しいのは、クライアント側で追加のフォーム フィールドを生成するだけではなく、AJAX を介して機能が実現されることです。これは、フォーム API がフォームを完全に再生成する必要があるためです。そうしないと、送信時に、最初にブラウザーに送信されなかった追加フィールドが単純に無視されます (これは、インジェクションを防ぐための意図です)。
HTH 少なくとも少し! 簡潔で申し訳ありません。