web-dev-qa-db-ja.com

N個の「サブフィールド」を持つN個のフィールドを作成する

ユーザーがN個のサービスとすべてのサービスに対してN個のタスクを定義できるコンテンツタイプ「エンタープライズ」を作成したいと思います。このコンテンツタイプの他のフィールド(名前、説明、...、簡単なフィールド)を既に作成しましたが、サービスとタスクを開始する方法がわかりません。

同じフォームでサービスとタスクを作成できるようにしたいと思います。それを行う最善の方法は何でしょうか?

7
user709

D6を使用する場合は Flexifield を使用できます。インストール後、サブフィールドを表すコンテンツタイプを作成し、メインコンテンツタイプで、Flexifieldタイプの新しいフィールドを作成する必要があります。 、次に、フィールドの値の数を定義します。次に、メインコンテンツタイプの作成ノードフォームに、フィールド(グループの種類)があり、複数のサブフィールドがあり、定義されたフィールドの数。複数の「サブフィールドのグループ」が必要です。

5
lnunesbr

drupal 6.xでは、これは、要求している動作であるマルチグループをサポートしていたcck-3.xを使用することで以前は達成されていました。

drupal 7.xでは、field_collectionモジュール(http://drupal.org/project/field_collection)を使用してこれを実行できます)-このモジュールにはエンティティモジュールも必要です。

モジュールを設定したら、UIはフィールドやグループを追加するのとは少し異なります。

「エンタープライズ」コンテンツタイプに移動して、新しいフィールドコレクションフィールドを追加します(現在、唯一の表示が非表示になっています)。

フィールドコレクションフィールドを追加したら:-)。ここで、admin/structure/field-collectionsのフィールドコレクション構成画面に移動する必要があります。ここでは、コレクション内のフィールドを制御します。

これで、追加した新しいfield_collectionフィールドが表示されます。そのコレクションに2つの新しいフィールドを追加する必要があります。あなたのケースでは、サービスとタスクのフィールドです。

これで、2つのフィールドを持つコレクションができました。

奇妙なことに、現在コレクションを追加するために、ノードの作成時にそれを行うことはできません。ノードを作成する必要があります。そうすると、「サービスとタスク」を追加できる「コレクションの追加」リンクが表示されます。

少し奇妙ですが、動作します。将来的にはもっと多くのウィジェットが利用できるようになると確信していますが、今のところdrupal 7。

お役に立てれば。

1
ericduran