Массовое открытие комментариев для чтения и добавления

*

Пользователи обнаружили, что в очень многих постах комментарии не показываются (показываются только их заголовки), кроме того, сами посты закрыты для добавления новых комментов. Вообще говоря, не удивляет - последний апгрейд Drupal 6 --> Drupal 7 шел больно и с большим скрипом. Проблем, как выяснилось, две:

1. В таблице  field_data_comment_body поле comment_body_format не переименовалось. В старых версиях Друпала форматы обозначались цифрами, а в "семерке" - названиями. Для того, чтобы понять, какой цифре соответствует какое название, открываем в одном окне браузера какой-нибудь пост, в комментариях к которому не видно ничего, кроме названия, открываем один такой "пустой" коммент и вводим редактирование этого коммента (но ничего больше пока не делаем). В другом окне открываем phpMyAdmin и находим в таблице field_data_comment_body этот самый коммент. Запоминаем (а лучше, записываем), что стоит у коммента в базе данных в поле comment_body_format. Допустим, там стоит "1".

Теперь в том окне браузера, в котором мы открыли редактирование коммента, делаем CTRL+C всего тела комментария, после чего под окном комментария находим формат коммента, в котором ничего не стоит (ибо "семерка" не ведает, что такое "1"). Как только мы выберем нужный формат (допустим, Filtered HTML), окно тела коммента опустеет. Но нас это не пугает, потому что мы успели его запомнить в буфере. Теперь делаем CTRL+V и сохраняем коммент.

Перезагружаем нужный нам коммент в phpMyAdmin, смотрим, что изменилось. Вместо "1" в поле comment_body_format красуется теперь filtered_html. Замечательно! Теперь вызываем в phpMyAdmin SQL-запрос и делаем, например, вот так:

UPDATE `field_data_comment_body` SET `comment_body_format` = `filtered_html` WHERE `comment_body_format` = 1

Все. Теперь все комменты станут видимыми.

 

2. Чтобы открыть добавление новых комментов, приходится поработать аж над двумя таблицами базы, node и node-revisions. В обеих таблицах в поле comment нужно поменять значение "1" (комментирование запрещено) на "2" (комментирвоание разрешено). Например, вот такими SQL-запросами (один, потом другой):

 

UPDATE `node` SET `comment` = 2 WHERE `comment` = 1

 

UPDATE `node_revisions` SET `comment` = 2 WHERE `comment` = 1

В принципе, это все. Теперь вопрос, как скоро вы хотите увидеть, что все прошло благополучно. Можно подействовать по принципу "утро вечера мудренее" и завтра утром все само устаканится, потому что к тому времени обновится кэш сайта. А можно прочистить кэш принудительно (admin/config/development/performance, "очистить кэш"), тогда результаты появятся сразу.

Фсё!

 
 

Теги:

Новые комментарии