このトピックは
、Node Reference Drupalフィールドと
料理サイトのモジュールの 重要なタスクに対する一種の応答です。 しかし、これらの2つのトピックの著者とは異なり、車輪を再発明して独自の決定を書くのではなく、この問題が近い将来にどのように解決されるかを示します(そして今、一般的にはすでに可能です)、そして事実上の標準になるものを示しますDrupal。 なぜ私は標準についてそれほど自信があるのですか? すべてが非常に簡単です
-CCK(Content Construction Kit)3について説明します。
一般的に、私が知る限り、複数のCCKフィールドを1つの多重極にグループ化することがCCK 3の出現の主な理由です。この機能は人気があり(ほとんどすべてのDrupalプロジェクトで対処する必要があります)、新しいCCKフィールドを作成するたびに(またはより簡単なフィールドで構成される新しいフィールドを取得するために、稼働時間を再利用します。 また、CCKフィールドの作成はかなり時間がかかりません(最終的なフィールドの複雑さに依存します)。 このタスクが再び私の地平線に現れた後、私はインターネットでこのトピックに関する少しの研究を行うことにしました-タスクはユニークではなく、多くがそれに直面するべきでした(これの証拠の1つはこのトピックの2つのトピックです最後の週はhabr)。 短いGoogleの後、CCK 3に出会いました。CCK3は現在dev状態にあり、ダウンロードリンクは
プロジェクトページの 開発リリースリストにも記載されていません。 ダウンロードを取得するには、2つの方法があります:
対応するセクションでリリースの全履歴を確認するか、
アップデートステータスと
コンテンツモジュールがインストールされているDrupalプロジェクトの
レポート->利用可能なアップデートページ(基本CCKモジュール)を確認します。
しかし、十分な歌詞。 CCK3を使用して、またはより正確には-Content Construction Kit(CCK)6.x-3.x-dev(2010-Jan-26)を使用
して、すでに
好みの料理サイト
を作成しましょう。
準備として、2つのコンテンツタイプ(IngredientとRecipe-IngredientとRecipe)をそれぞれ用意します。 これまでのところ、これらは絶対に標準的な設定を持つ2つのコンテンツタイプです。

いくつかの成分を作成しましょう-それらはさらなるテストに役立ちます(ノードのヘッダーを設定するだけです)。

次に、モジュールのインストールに進み、便利なものを含めます。これらは、
コンテンツマルチグループ 、
ノードリファレンス、および
テキストです。 モジュール自体のインストーラーは、欠けているものをすべて提供します。

ここで、レシピコンテンツタイプのフィールド管理に移動し、1つの成分に責任を持つ2つのフィールドを追加します。成分自体(成分コンテンツタイプへのノード参照)と数量(ここではテキストフィールドを使用しました)。

そしてこの瞬間から、特別なマルチグループの魔法が始まります。 Ingredientsグループをレシピフィールドに追加し、IngredientフィールドとQuantityフィールドをこのグループに追加し、グループタイプをMultigroupに設定します。

それでも、この特定の例のより便利な表示のために、フィールド設定で複数列のチェックボックスを設定します-1つの多極子内のフィールドは通常起こるように上下に移動しませんが、1行で、少数の単純なフィールド(私たちの場合)便利。
最後に、最初のレシピを作成します。 どのようなもので、どのように考えると価値がないかを説明します。スクリーンショットですべてが明確になっているはずです。

ノードを保存すると、次のようなものが表示されます。

これまでのところ、あまりきれいではありませんが、すでに機能しています=)フィールドの表示について少しおしゃべりします。

そして、非常に美しいレシピを取得します。

ここで、一般的に、そして私が新しいCCK3機能について話すつもりだったすべてのこと。 追加するのは1つだけです。モジュールはdev状態であり、本番環境での使用はモジュールの作成者によって推奨されていません。 ただし、
統計を信じている場合、モジュールは、モジュールのステータスを自動的にチェックする機能を備えた6.5k +サイトですでに使用されており、すべてがレビューのためにのみ存在するという事実ではありません=)