ユーザーがN個のサービスとすべてのサービスに対してN個のタスクを定義できるコンテンツタイプ「エンタープライズ」を作成したいと思います。このコンテンツタイプの他のフィールド(名前、説明、...、簡単なフィールド)を既に作成しましたが、サービスとタスクを開始する方法がわかりません。
同じフォームでサービスとタスクを作成できるようにしたいと思います。それを行う最善の方法は何でしょうか?
ユーザーがN個のサービスとすべてのサービスに対してN個のタスクを定義できるコンテンツタイプ「エンタープライズ」を作成したいと思います。このコンテンツタイプの他のフィールド(名前、説明、...、簡単なフィールド)を既に作成しましたが、サービスとタスクを開始する方法がわかりません。
同じフォームでサービスとタスクを作成できるようにしたいと思います。それを行う最善の方法は何でしょうか?
回答:
d6を使用する場合は、Flexifieldを使用できます。インストール後、サブフィールドを表すコンテンツタイプを作成し、メインコンテンツタイプで、Flexifieldタイプの新しいフィールドを作成して、それを定義します。フィールドのいくつかの値、そしてメインのコンテンツタイプの作成ノードフォームには、フィールド(グループの種類)があり、複数のサブフィールドがあり、定義されたフィールドの数に応じて、複数の「サブフィールドのグループ」が必要です。
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で利用できるものです。
お役に立てれば。