Отключить комментарии для нод определённого типа

23.09.2017

Задача:

Нужно отключить комментарии у нод заданного типа. При просмотре ноды не должно быть ни формы комментария, ни ссылки на форму для добавления комментария.

Решение
Настройки комментариев хранятся в базе данных отдельно для каждой ноды. А общие настройки (настройки по умолчанию) можно задать на странице настроек нужного типа материалов, но влиять они будут только на новые ноды. Для созданных ранее нод в базе данных будет храниться значение, которое было задано при сохранении ноды. Поэтому есть 2 этапа отключения комментариев - для новых нод и для уже существующих нод.
Отключение комментирования для новых нод

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

* Чтобы отключить комментирование для определённого типа материалов (page, story или любого другого) нужно открыть страницу настроек этого типа: admin/content/node-type/[тип ноды]
* Раскрыть Comment settings
* Установить параметр Настройки по умолчанию для комментриев (Default comment setting) в значение Отключено (Disabled)
* Сохранить настройки

Отключение комментариев для существующих нод

Варианты

* Использовать SQL-сниппет
* Использовать модуль Mass Change

Использовать SQL-сниппет

Для отключения комментирования в уже созданных нодах типа "story" нужно выполнить SQL-сниппет:
UPDATE node SET comment = 0 WHERE type LIKE "story";
Возможные варианты:

* comment = 2 - разрешено писать и читать комментарии
* comment = 1 - комментарии можно только читать
* comment = 0 - комментарии запрещены

Измените значение "story" на то, которое вам нужно.
Использовать модуль Mass Change

Прочитайте обзор модуля Mass Change, установите и вы сможете выполнять массовое изменение параметров нод, включая настройки комментариев.
Не забудьте отключить модуль - ведь он не нужен постоянно!
Выводы

SQL-сниппет это явно быстрое решение. Использовать модуль есть смысл, если нужно часто массово менять параметры нод.
Использованные материалы:

* Disable or enable comments for node types en mass
* How to disable "comment post" for content type?