コメントがノードコンテンツタイプではないのはなぜですか?


10

したがって、Drupalには「特別な」コメントシステムがあります。

ノードと比較して、コメントはDrupalの2等市民です...

しかし、コアチームがデフォルトのコンテンツタイプ、コメントのブロックと表示を作成し、サイト管理者が必要に応じてコメントブロックを追加できるようにしたのはなぜですか。「記事」および「基本ページ」のコンテンツタイプと同様に、ブロックとビューを作成できます。なぜコメントがそれほど違うのですか?


3
あなたは本質的に「なぜコメントがノードではないのか」と尋ねているようです。答えは単に「同じことをすることになっていないから」です。グランプリでのレースにトラクターを使用しないのと同じです。理論的には可能ですが、そうするのはおかしいでしょう。エンティティタイプvコンテンツタイプのより一般的な背景については、こちらをお読みください
Clive

1
それは本質的に私が求めていることです。リンクをありがとう、それは関連しています。専門用語を知っていれば、もっと良い質問ができただろう。ご理解のほどよろしくお願いいたします。
dayuloli 2014

1
問題ありません。私はあなたの質問が良いものではないことをほのめかそうとしていませんでした。実際、Drupalを初めて使用する場合、この種のことは非常に混乱する可能性があります。しかし、コメントvノードの場合は、「異なる要件、異なるエンティティタイプ」と同じくらい簡単です
Clive

1
@dayuloliで用語を理解したので、編集してより良い質問にすることができます!:)
Mołot

2
@dayuloliコメントや質問の不可欠な部分、あなたが望むものは何でも、ちょうど避け部品の外観ので、可能であれば、別の:)その
Mołot

回答:


8

これに答えるために、私は最初に1つのことを理解する必要がありました:エンティティはノードではありません

エンティティタイプは、フィールドの特別なグループです。

ノードはエンティティタイプであり、「タイトル」、「作成者」、「公開日」などのいくつかのフィールドが必要です。

コンテンツタイプは、さらに多くのフィールドを定義するノードのインスタンスです。したがって、「ブログ投稿」コンテンツタイプには、「タイトル」、「作成者」、「公開日」に加えて、「フック」、「紹介」、「要約」、「関連投稿」フィールドを含めることができます。

ノードは、コンテンツに特化したエンティティタイプです。コメントは一般的なコンテンツとはあまりにも異なるため、ノードとして設計されていません。コメントに「タイトル」、「著者」、または「公開日」フィールドを含める必要はありません。非常に異なるため、代わりに別のエンティティタイプとして作成されます。

詳しくは、Drupalに関するこの記事を参照してください。


1
ノード、コメント、分類用語、ユーザーなどはすべてエンティティタイプです。バンドルのあるものとないものがあります。ノードタイプは、技術的にはエンティティの観点から見た「バンドル」です。
AyeshK 2014

2
明示的に何かを見つけるために深く掘り下げる必要はありません。drupal.org
node

2
技術的には、すべてのエンティティタイプにバンドル@AyeshKがあります。提供されていない場合、コアは暗黙的なものを使用します
Clive

2
@cliveに感謝-実際には、一部のエンティティタイプには異なるバンドルがあり、そうでないものもあります。フラグ、ノードは、複数のバンドルをサポートするエンティティタイプです。ユーザー、分類用語などには、バンドルが1つしかありません。説明をありがとうございました。
AyeshK 2014

0

Drupal 8では、ノードとコメント(およびカスタムブロックとユーザーが追加したメニューリンクとユーザーおよび分類用語など)は両方ともエンティティです。D7では、エンティティは実際にはフィールドのバンドルのためだけのものでした-私はそれらが単純で$object、APIがまったくなかった時期をまだ覚えています。Drupal 8では、エンティティに適切なCRUD APIがあります。それらは、保存、読み込みなどのクラス化されたオブジェクトです。また、コメント設定はフィールドになり、フィールド化可能なものはすべてコメント可能になります。可能性に心が揺さぶられます(コメント付きのコメントですか?Commentception!それは可能なAFAIKです)。


0

傍注と同じように、コアコメントエンティティの機能は必要ない場合がありますが、コンテンツタイプまたはエンティティに関連付けられたコメントまたはメモ(返信なし)の単純なリストだけが必要な場合があります。

このような場合は、システム負荷を軽減して、そのコンテンツタイプのコメントを無効にし、コメントまたはメモを保存するためのフィールドのみを使用することができます。

少なくとも2つのcontribモジュールがこの種のフィールドを提供します:

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.