Drupal_CCKで新しいフィールドを追加する
- 必要なモジュール
- CCK(Content Construction Kit)
- こんな目的に使います:
- 何のためにこんなものを作るかというと、同じタイプのページをたくさん作成したいときなどに、同じ項目をコピーペーストし続けるのは効率がよくないです。今回はデフォルトの「ページ」というコンテンツにフィールドを追加していますが、新しいコンテンツタイプを独自に作り、これにCCKでフィールドを追加すると、フォームのような編集画面ができます。例えば料理のレシピのようなページをたくさん作りたいときに、調理時間、難易度、カテゴリなどがあらかじめ項目として存在していれば、フィールドに入力するだけで簡単にページを作成できます。
コンテンツの作成をするときに、まず、「ページ」や「ストーリー」などのコンテンツタイプを選びます。「タイトル」や「本文」のようにテキストを打ち込む欄のことをフィールドといいます。CCKは、このフィールドを追加することができます。試しにページに新たなフィールドを追加してみましょう。
- 管理セクション/コンテンツの管理/コンテンツタイプを開きます
- ページの行の右端に「フィールドの管理」というリンクがあるのでクリックします
- デフォルトで存在するフィールドが表で現れます。この一番下に、任意のフィールドを追加します。
- ラベル項目の「新しいフィールド」というところに、これから作成するフィールドの名前をつけます。一度作成したら、ここは変更できませんので、慎重に入力してください。ここでは、仮にtest1と入力したとします。
- 次に、名前項目の欄に半角英数字で名前をつけます。これは、後にViewsで値を取り出したり、PHPを使用して値を操作するときに使用するもので、データベースのフィールド名となります。
- 保存するデータ型には、今から作成するフィールドにどのようなデータを入力するのか、その属性を指定します。数字のみなら「整数」、日付なら「日付」を選びます。ここでは、「テキスト」を選択します。
- 最後に「ウィジェットを選択」という欄には、先ほど選択した保存するデータ型のより詳しい属性を指定します。ここでは、テキストのテキストフィールドを選びます。
※ドロップダウンリストを表示したときに、私はスクロールがあることに気づかず、なかなか目的のテキストフィールドを探すことができませんでした。皆さんは、こんなことはないと思いますが、念のため。 - 全ての項目を設定したら、表下の「保存」をクリックしてください。
以上で、新しいフィールドができました。コンテンツの作成でページを選び、新しいフィールドができているか確認してみましょう。test1というフィールドが新しく増えています。ここに「てすと1」と入力して、新しいページを保存すると、test1:てすと1というテキストが作成したページの中に表示されると思います。