CCK (Content Construction Kit) 【コンテンツタイプのフィールド管理】

個々のコンテンツタイプに対して、フィールド(テキスト入力、セレクト、ラジオ、等)を、
ユーザーインターフェース上から追加、編集、等を行えるようにしてくれます。

追加したフィールドに対して、DBのテーブル上へのカラムの追加、等も、
CCKがやってくれます。

ダウンロード

Content Construction Kit (CCK) | drupal.org

使い方

  • 既存のコンテンツタイプではなく、新しいコンテンツタイプを作りたい場合には、「管理セクション > コンテンツの管理 > コンテンツタイプ > コンテンツタイプの追加」で、追加しておきます。
  • 「管理セクション > コンテンツの管理 > コンテンツタイプ 」で、フィールドを編集したいコンテンツタイプの「フィールドの管理」を選択。
  • フィールドを追加する場合には、CCKによって機能拡張された「新しいフィールド」を使います。
    • 「ラベル(表示される名前)」を入力します。
    • 「フィールド名(半角英数字と「_ 」のみ)」を入力します。この値は、データベースのテーブルのフィールド名になります。
    • 「フィールドタイプ」を選択します。保存されるデータの内容がテキストなら「テキスト」、数値(整数)なら「整数」、のように選択します。
      ここで注意したいのは、ここで選ぶ「フィールドタイプ」とは「フォーム要素のことではない」ということです。
      ここで選択するのは、DB上の型」、です。
      実際にHTML上表示されるフォーム要素を決めるのは、次の段階です。
      今回は、「テキスト」を選択したとして、次に進みます。
    • フォームエレメントを選択します。
      ここでやっと、「テキストフィールド」なのか、「ラジオボタン」なのか、等を選択します。
      通常の <input type="text" ..... /> であれば、「テキストフィールド」を選択、「ラジオボタン」であれば、「チェックボックス/ラジオボタン」を選択して、「保存」をクリックします。
      ここでは、「チェックボックス/ラジオボタン」を選択したとして、次へ行きます。
    • ラジオボタンの設定画面に移動するので、設定を行います。
      ラジオボタンで選択させる値を決めなければならないので、「使用する値のリスト」に記述します。
      記述の仕方は、例えば、「"選択肢A"を選択すると、DBに"値A"と格納」、「同様に、"選択肢B"なら"値B"」としたい場合、
      値A|選択肢A
      値B|選択肢B
      

      と記述し、「保存」します。
      もし、DBに格納する値を数値にしたくて、

      1|選択肢A
      2|選択肢B
      

      のようにする場合には、先ほど設定した「フィールドタイプ」を「整数」等に設定しておく必要があります。
      (まぁ、「テキスト」に設定しておいて数値を保存しても保存は出来るわけですが、将来的に「ビュー」での絞り込み時などに不便になりかねないので、ちゃんと型と内容は合わせておくべきでしょう。)

    • この段階で、「コンテンツの作成」から、フィールドを編集したコンテンツタイプを選択して投稿画面を表示すると、設定したラジオボタンの選択しに「N/A」が勝手に追加されます。
      これは、「ラジオボタンを選択しなかった場合」用です。
      通常のラジオボタンは「必須選択」扱いだと思いますので、フィールドを編集しましょう。
      先ほどの「フィールドの管理」画面で、追加したフィールドの「設定」をクリックすると、再度設定できます。
      この設定画面で、「全般の設定」の「必須」にチェックを入れて「保存」することにより、投稿画面の「N/A」は消えます。