この連載が書籍になりました! Drupal 8初の日本語解説書『Drupal 8 スタートブック』好評発売中です。

【Drupal 8入門】コンテンツタイプとタクソノミーの作成

2016年8月15日(月)
ANNAI株式会社

カスタムコンテンツタイプの作成

先ほどはDrupalが標準で持っているコンテンツタイプの1つ、「基本ページ」を使いページを作成しました。今度は独自のカスタムコンテンツタイプを作成してみましょう。カスタムコンテンツタイプを使うと、情報管理の自由度が飛躍的に向上します。単なる分類が目的であれば、後述するTaxonomyなども使えますが、権限ロールを含めたアクセス制限等の設定をコンテンツ毎に行うときに、力を発揮するでしょう。

単なる分類が目的であれば後述するタクソノミーなども使えますが、コンテンツタイプを使うことで、権限ロールを含めたアクセス制限等の設定することが可能になります。

さらに、自分で作成したカスタムコンテンツタイプに「フィールド」と呼ばれる、データ入力用のフィールドを追加することで独自のデータ構造を構築することができます。

まず、今回作成する2つのコンテンツタイプの構造を把握しておきましょう。

コンテンツタイプ「新着情報」の構造

1.サンプルサイトの新着情報に表示されているコンテンツ

【ニュースリリース】新製品 DRUPAL猫(白)をリリースしました。」をクリックします。

image alt text

2.このページはコンテンツタイプ「新着情報」で作成されたコンテンツの1つです。このページを例に「新着情報」の構造について理解していきましょう。

image alt text

先ほども説明しましたが、コンテンツタイプには「フィールド」と呼ばれる、データを入力できる場所があります。Drupalでは「フィールド」に入力されたデータをさまざまな形で表示することができます。このページのどこが、どの「フィールド」に該当するのかを見てみましょう。

コンテンツタイプ「新着情報」では、「タイトル」「本文」「タグ」の3つの「フィールド」を持っていることが確認できます。実際に「新着情報」コンテンツタイプを作成してみましょう。

image alt text

コンテンツタイプ「新着情報」の作成

1.管理者メニューの「サイト構築」をクリックします。

image alt text

2.「サイト構築」画面から「コンテンツタイプ」をクリックします。

image alt text

3.「コンテンツタイプの追加」ボタンをクリックします。

image alt text

4.「コンテンツタイプの追加」画面が表示されますので、「名前」欄に「新着情報」と入力します。入力すると「システム内部名称」が自動で設定されます。

image alt text

「システム内部名称」とは、Drupalのシステム内で利用される名称で、半角英数とアンダースコア( _ )のみ使用できます。この名称は読んで意味の分かる英語にしておくと管理しやすいため「編集」から「news」に変更します。「システム内部名称」は今後もさまざまな場面で登場します。必ず管理しやすい名前を付けるように心がけましょう。

image alt text

5.「説明」欄に「新着情報を表示する際に使用します。」と入力して「保存してフィールドを管理」ボタンをクリックします。

image alt text

6.コンテンツタイプ「新着情報」が保存されました。デフォルトでフィールド名が「Body」に設定されていますので、分りやすいように「本文」に変更しましょう。まずは、「Body」フィールドの「編集」をクリックします。

image alt text

7.ラベルに「Body」と入力されているので、これを「本文」に書き換えます。「ヘルプテキスト」には「新着情報の本文を入力してください。」と入力します。

image alt text

8.「要求されるフィールド」のチェックを外し、「概要を編集」をクリックします。

image alt text

9.「概要の編集」をクリックすると、「サマリー」の入力画面が開きます。「サマリー」に「新着情報の短い概要をこちらに入力してください。」と入力して「設定の保存」ボタンをクリックします。

image alt text

※テキストフォーマットについて

フィールド名を「本文」に設定した、「長文」入力用のフィールドでは以下のように「テキストフォーマット」を選択することができます。

特定のHTMLタグの使用だけを許可し、iframeやscriptなど、場合によってはセキュリティの問題を引き起こす可能性があるタグの入力を禁止する「制限付きHTML」や、全てのHTMLタグの入力を許可する「フルHTML」といったようなユーザーが入力可能なテキストのフォーマットを選択できます。

また、拡張機能(モジュール)を入れることで、Wysiwigエディタを外してMarkdown記法やWiki記法などを使うこともできます。

image alt text

10.本文フィールドの設定が保存されたことを確認したら、次に「タグ」フィールドの追加を行います。「フィールドの追加」をクリックしてください。

image alt text

11.今回追加する「タグ」はDrupalに標準で作成されているタクソノミー(カテゴリなどの分類のこと)です。タクソノミーについては後程、詳しく説明します。ここでは、既に存在するフィールドを追加するという意味の「既存のフィールドを再利用」のドロップダウンメニューから「エンティティ・リファレンス: field_tags」を選択し「保存して次へ」ボタンをクリックします。

image alt text

12.「タグ」フィールドの設定画面が表示されます。「ヘルプテキスト」欄に「この新着情報が該当するカテゴリを選択してください。」と入力します。

image alt text

13.「参照タイプ」で「タグ」にチェックを入れ「設定の保存」ボタンをクリックします。

image alt text

14.これで「タグ」フィールドが設定されました。

image alt text

次に「タグ」に「ターム」を設定します。

「ターム」と言うのは実際にコンテンツをカテゴリに分類する際に使われる分類名です。今回は「タグ」に「お知らせ」「ニュースリリース」「採用情報」「新製品」の4つの「ターム」を設定します。


15.管理者メニューの「サイト構築」をクリックし、表示された「サイト構築」画面から「タクソノミー」をクリックします。

image alt text

16.「タグ」の「タームのリスト」をクリックします。

image alt text

17.「タグ」の「タームの追加」ボタンをクリックします。

image alt text

18.「名前」「説明」「URLエイリアス」を、以下の画像および表に従って入力します。入力が完了したら「保存」ボタンをクリックし、「お知らせ」「ニュースリリース」「採用情報」「新製品」の4つのタームを作成します。

image alt text

入力項目

名前 説明 URLエイリアス
お知らせ お知らせの一覧です。 /news/info
ニュースリリース ニュースリリースの一覧です。 /news/release
採用情報 採用情報の一覧です。 /news/recruit
新製品 新製品の一覧です。 /news/product

19.「タグ」の「タームのリスト」から4つの「ターム」が登録されているのを確認します。これでタクソノミーの設定は完了です。

image alt text

ANNAIは、2009年からDrupal専門のWebシステム開発会社として、世界規模で展開するグローバル企業や大学・自治体を中心に数多くのWebソリューションを提供。
CoreやModuleのコントリビューターなど、Drupalエキスパートが多数在籍。国内ユーザーコミュニティへも積極的にコミットし、定期的なセミナーの等の開催を通じて、オープンソース技術の普及や海外コミュニティとの緊密な連携を図っている。
Webシステムの企画・開発〜デザイン、クラウド運用までをワンストップで提供する他、Drupalのコーディングを評価する"Audit業務"や最適なモジュールの調査・選定等、幅広いコンサルティングを行っている。Drupalアソシエーション公式パートナー。
https://annai.co.jp

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています