Pourquoi les commentaires ne sont-ils pas un type de contenu de nœud?

10

Drupal a donc un système de commentaires «spécial».

Les commentaires sont des citoyens de seconde classe dans Drupal par rapport aux nœuds ...

Mais pourquoi l'équipe principale n'a-t-elle pas simplement créé un type de contenu, un bloc et une vue par défaut pour les commentaires, et permis à l'administrateur du site d'ajouter un bloc de commentaires si nécessaire? Tout comme les types de contenu "Article" et "Page de base", pour lesquels nous pouvons créer des blocs et des vues. Pourquoi les commentaires sont-ils si différents?

Dayuloli
la source
3
Vous semblez demander essentiellement "pourquoi les commentaires ne sont-ils pas des nœuds?" La réponse est simplement "parce qu'ils ne sont pas censés faire la même chose". Tout comme vous n'utiliseriez pas de tracteur pour courir en Grand Prix; cela pourrait théoriquement être fait, mais ce serait fou de le faire. Lisez ceci pour des informations plus générales sur les types d'entités et les types de contenu
Clive
1
C'EST essentiellement ce que je demande. Merci pour le lien, c'est pertinent. J'aurais posé une meilleure question si je connaissais la terminologie. Merci de votre compréhension.
dayuloli
1
Pas de problème, je n'essayais pas d'insinuer que votre question n'était pas bonne - loin de là en fait, si vous êtes nouveau chez Drupal, ce genre de choses peut être très déroutant. Je voulais juste aller droit au but cependant, dans le cas des commentaires v nœuds, c'est aussi simple que "différentes exigences, différents types d'entités"
Clive
1
@dayuloli vous connaissez maintenant la terminologie, vous pouvez donc l'éditer et en faire une meilleure question! :)
Mołot
2
@dayuloli commentaire ou partie intégrante de la question, quoi que vous souhaitiez, évitez simplement les parties qui semblent si séparées, si possible :)
Mołot

Réponses:

8

Pour répondre à cela, j'ai d'abord dû comprendre une chose: les entités ne sont pas des nœuds .

Les types d'entité sont des regroupements spéciaux de champs.

Le nœud est un type d'entité, qui nécessite certains champs, tels que «Titre», «Auteur» et «Date de publication».

Les types de contenu sont des instances de Node qui définissent davantage de champs. Ainsi, un type de contenu «article de blog» peut avoir les champs «Crochet», «Introduction», «Résumé» et «Articles connexes», en plus de «Titre», «Auteur» et «Date de publication».

Le nœud est un type d'entité spécialisé pour le contenu. Un commentaire n'est pas conçu pour être un nœud car il est trop différent d'un contenu typique. Il n'est pas nécessaire d'avoir un champ «Titre», «Auteur» ou «Date de publication» dans un commentaire. Parce qu'il est si différent, il est créé à la place comme un autre type d'entité .

Pour plus de détails, consultez cet article sur Drupal .

Dayuloli
la source
1
Les nœuds, commentaires, termes de taxonomie, utilisateurs, etc. sont tous des types d'entités. Certains ont des paquets, d'autres non. Un type de nœud est techniquement un "bundle" du point de vue de l'entité.
AyeshK
2
Pas besoin de creuser très profondément pour trouver quelque chose d'explicite: drupal.org/node/1261744
Djouuuuh
2
Techniquement, tous les types d'entités ont un bundle @AyeshK. Si aucun n'est fourni, le noyau en utilise un implicite
Clive
2
Merci @clive - Je voulais en fait dire que certains types d'entités ont des bundles différents et d'autres pas. Flag, Node sont des types d'entités avec prise en charge de plusieurs bundles. L'utilisateur, le terme de taxonomie, etc. n'ont qu'un seul paquet. Merci encore pour la clarification.
AyeshK
0

Dans Drupal 8, les nœuds et les commentaires (et les blocs personnalisés et les liens de menu ajoutés par l'utilisateur et les termes d'utilisateurs et de taxonomie et ...) sont des entités à la fois. Alors qu'en D7, une entité n'était en fait que pour un ensemble de champs - je me souviens encore quand ils l'étaient simplement $objectet qu'il n'y avait pas du tout d'API. Dans Drupal 8, les entités ont une API CRUD appropriée; ce sont des objets classés avec sauvegarde, chargement, etc. Et les paramètres de commentaire sont maintenant un champ, donc tout ce qui peut être champ est commentable. L'esprit s'embrouille devant les possibilités (commentaires commentés? Commentception! Même c'est possible AFAIK).


la source
0

Tout comme un sidenote, parfois, vous n'avez peut-être pas vraiment besoin de la puissance de l'entité Commentaires principale, mais simplement d'une simple liste de commentaires ou de notes (sans réponses) associés au type de contenu ou à l'entité.

Dans ces cas, vous pouvez alléger la charge de votre système en désactivant les commentaires pour ce type de contenu et en utilisant simplement un champ pour stocker les commentaires ou les notes.

Au moins 2 modules contrib fournissent ce type de champ:

Interdruper
la source