logo

パレット - カラフルに🎨

Palette — ビジュアルページビルダー、デザインの専門知識は不要です。

ライブデモ パレットをダウンロード

Scroll

1.7. Field、Entity:フィールドとエンティティの操作。

29/07/2019, by mikhail

Drupal には素晴らしいモジュール Fields、Field UI があり、Entity モジュールによって作成されるオブジェクト(ノード、コメント、ユーザー、タクソノミー用語)にさまざまなフィールドを付加できます。Entity + Fields を使うと、サイト上の実世界のオブジェクト間のあらゆる関連を実装できます。例えば、会社があり、会社にはさまざまな部門があり、部門には従業員がいます。タクソノミー department ボキャブラリーを作成し、会社のすべての部門をそこに書き、コンテンツタイプ Employee を作成してそれにフィールドを付加します。

部門と従業員のページだけでなく、リンクされたカタログが得られます。このレッスンでは、そのような部門と従業員のディレクトリを作りますが、とりあえず、Drupal がサイトへのさまざまなオブジェクトの追加を素早く構成し、これらのオブジェクト間のリンクを設定できることを理解することが重要です。

レッスンを始める前に、Entity、Field、Field UI、Taxonomy モジュールが有効になっていることを確認してください。

Taxonomy Vocabulary Department を作成しましょう(このレッスンですでにタクソノミー辞書を作成しました):

taxonomy departments

次に、コンテンツタイプ Employee を作成しましょう(このレッスンですでにコンテンツタイプを追加しました)。title フィールドは Full name に名前変更できます:

Content type employee

次に Manage Fields をクリックします:

content type drupal

Manage fields

このタブでは、私たちのコンテンツタイプ(およびコメント、ユーザーなどの他のエンティティ)にフィールドを追加できます。Departments ボキャブラリーへのリンクを追加しましょう:

employee

また、各従業員には役職があるので、Position フィールドを追加しましょう。フィールドタイプは Text を選択します。これは通常のテキストフィールドです。

Position field

Birthday フィールドも追加できます(datetime モジュールが有効になっていることを確認してください):

Position field

date type では、Date only を指定するのが最善です:

date only

Body フィールドを About Me に名前変更しましょう:

About myself

ラベルの名前を変更します:

About myself

各従業員にいくつかフィールドを追加しました(次のレッスンで、各従業員の写真をアップロードするための Photo フィールドを追加します)。これで、各従業員を追加するページに追加のフィールドが表示されます。

additional fields

ノード編集フォームでフィールドを入れ替える必要がある場合は、manage form display タブに移動する必要があります。

Manage form display

manage form display

このタブでは、ノードを追加するフォームを管理します。ページに情報がどの順序で表示されるかは、Manage display タブで構成します。

Manage display

ティーザーノードでは Department フィールドの出力を隠せます。というのも、部門ページのティーザーには 1 つの部門の従業員だけがいるからです。しかし同時に、部門ページに戻れるように、完全なノードでは department フィールドを表示します。

Department field

また、birthday の日付を、時刻なしで数字だけが表示されるように形式をカスタマイズする必要があります。そのために、歯車をクリックして目的の日付形式を設定します:

date

各変更後に保存するのを忘れないでください。default を表示するためにも同じことをすべきです(Full content の display を作らない場合、Default の display が完全なノードに適用されます)。

employee

これで、従業員を追加できます。

list of employees

Departments ボキャブラリーのセクション編集に移動すると、そこには部門のタクソノミーのフィールドを編集するタブもあります。

taxonomy of the field

このようにして、各部門にフィールド(従業員数、部門ロゴなどが可能)を追加できます。

サイトのユーザーでも同じことができます。Account settings ページで

/admin/config/people/accounts

field account

あらゆるものにフィールドを追加できることが分かったので、Taxonomy、ユーザー、ノードのどれを使うのが良いか、自分で選べます。例えば、タクソノミー辞書を使う代わりに、コンテンツタイプ Department を使え、Entity reference モジュールを使って Employee との接続を設定できます。このモジュールを使うと、このようなフィールドを作成できます。Employee にも Entity reference を使ってリレーションシップを設定できます。

Drupal にフィールドを追加する機能は、Views モジュールと組み合わせることで、ウェブサイト作成に途方もない機会を提供します。ですから、今何か分からないことがあっても、次のレッスンに進んで構いません。