Перейти к основному содержанию

Как массово включить/отключить комментарии в Drupal

06.09.2018

Возможность оставлять комментарии на сайте в Drupal 7 настраивается отдельно для каждого типа материала (в меню «Структура» — «Типы материалов» — «Изменить»). Перед этим, разумеется, нужно включить модуль Comment.

Однако таким образом мы можем лишь включить/выключить форму комментария к будущим материалам на сайте. На уже опубликованные эта манипуляция не повлияет никак.

Можно отредактировать каждую статью и разрешить/запретить комментарии к ней, однако, если страниц на сайте много, быстрее и проще обойтись запросом к базе данных.

В phpMyAdmin на вкладке «SQL» вводим примерно такой запрос:

UPDATE `node` SET comment = 2 WHERE TYPE = 'машинное имя материала'; UPDATE `node_revision` SET comment = 2 WHERE nid IN (SELECT nid FROM node WHERE TYPE = 'машинное имя материала');

Почему «примерно»? Потому что нужно указать машинное имя материала, а после «comment = » указать нужную цифру: 0 — комментарии запрещены, 1 — комментарии только для чтения, 2 — чтение/запись.

Например, такой SQL-запрос разрешит оставлять комментарии ко всем материалам типа «статья»:

UPDATE `node` SET comment = 2 WHERE TYPE = 'article'; UPDATE `node_revision` SET comment = 2 WHERE nid IN (SELECT nid FROM node WHERE TYPE = 'article');

А такой — запретит комментировать материалы типа «страница»:

UPDATE `node` SET comment = 0 WHERE TYPE = 'page'; UPDATE `node_revision` SET comment = 0 WHERE nid IN (SELECT nid FROM node WHERE TYPE = 'page');