Почему комментарии не являются типом содержимого узла?

10

Так что у Drupal есть «специальная» система комментирования.

Комментарии граждан второго сорта в Drupal по сравнению с узлами ...

Но почему основная команда не просто создала тип контента по умолчанию, блок и вид для комментариев и позволила администратору сайта добавлять блок комментариев по мере необходимости? Точно так же как типы контента 'Article' и 'Basic Page', для которых мы можем создавать блоки и представления. Почему комментарии такие разные?

dayuloli
источник
3
Похоже, вы по существу спрашиваете, почему комментарии не являются узлами? Ответ прост: «потому что они не должны делать то же самое». Точно так же, как вы не будете использовать трактор для гонок в Гран При; теоретически это можно сделать, но это было бы безумием. Прочитайте это для некоторых более общего фона по типам сущностей V типов контента
Клайв
1
Это по сути то, что я спрашиваю. Спасибо за ссылку, это актуально. Я бы задал лучший вопрос, если бы знал терминологию. Спасибо за Ваше понимание.
Dayuloli
1
Нет проблем, я не пытался намекнуть, что ваш вопрос не был хорошим - на самом деле это далеко не так, если вы новичок в Drupal, такие вещи могут быть очень запутанными. Я просто хотел перейти прямо к сути, хотя, в случае комментариев v узлов, это так же просто, как «разные требования, разные типы сущностей»
Клайв
1
@dayuloli Теперь вы знаете терминологию, так что вы можете редактировать и сделать его лучше вопрос! :)
Молот
2
@dayuloli комментарий или неотъемлемая часть вопроса, что бы вы ни пожелали, просто избегайте частей, которые выглядят настолько раздельно, если это возможно :)
Mołot

Ответы:

8

Чтобы ответить на это, я сначала должен был понять одну вещь: сущности не являются узлами .

Типы сущностей - это специальные группировки полей.

Узел - это тип сущности, для которого требуются некоторые поля, такие как «Заголовок», «Автор» и «Дата публикации».

Типы контента являются экземплярами Node, которые дополнительно определяют больше полей. Таким образом, тип контента «сообщение в блоге» может иметь поля «Крюк», «Введение», «Сводка» и «Связанные публикации» в дополнение к «Заголовку», «Автору» и «Дате публикации».

Узел - это тип сущности, специализированный для контента. Комментарий не предназначен для использования в качестве узла, поскольку он слишком отличается от типичного содержимого. Не обязательно иметь поле «Название», «Автор» или «Дата публикации» в комментарии. Поскольку он настолько отличается, он создается как другой тип сущности .

Для более подробной информации смотрите эту статью на Drupal .

dayuloli
источник
1
Узлы, комментарии, условия таксономии, пользователи и т. Д. Являются типами сущностей. У некоторых есть связки, у некоторых нет. Тип узла технически является «связкой» с точки зрения сущности.
AyeshK
2
Не нужно копать очень глубоко, чтобы найти что-то явное: drupal.org/node/1261744
Djouuuuh
2
Технически все типы сущностей имеют пакет @AyeshK. Если один не предусмотрено ядро использует неявное один
Клайв
2
Спасибо @clive - я на самом деле имел в виду, что некоторые типы сущностей имеют разные связки, а некоторые нет. Flag, Node - это типы объектов с поддержкой нескольких пакетов. Пользователь, термин таксономии и т. Д. Имеют только один пакет. Еще раз спасибо за разъяснения.
AyeshK
0

В Drupal 8 узлы и комментарии (и пользовательские блоки, и добавленные пользователем ссылки на меню, и пользователи, и термины таксономии, и ...) являются сущностями. В то время как в D7 сущность была просто для набора полей - я до сих пор помню, когда они были простыми, $objectи API вообще не было. В Drupal 8 сущности имеют правильный CRUD API; они относятся к классу объектов с сохранением, загрузкой и т. д. И настройки комментариев теперь являются полем, поэтому все поля, которые можно заполнить, можно комментировать. Разум поражает возможностями (комментируемые комментарии? Commentception! Даже это возможно AFAIK).


источник
0

Точно так же, как sidenote, иногда, возможно, вам на самом деле не нужна мощь базовой сущности Comments, а просто простой список комментариев или заметок (без ответов), связанных с типом контента или сущностью.

В этих случаях вы можете снизить нагрузку на вашу систему, отключив Комментарии для этого типа контента и используя только поле для хранения комментариев или заметок.

По крайней мере 2 модуля contrib предоставляют такие поля:

Interdruper
источник