Drupal отображает заголовок (но не другие данные) из удаленного типа контента - PullRequest
0 голосов
/ 01 января 2011

My http://drupal.94y.info/ При установке Drupal 6 отображаются названия многих узлов из Тип контента, который больше не существует.

Когда я удалил тип контента, Drupal удалил данные в тех узлы, за исключением заголовка, который по-прежнему остается.

Как исправить?

Для доступа администратора, напишите мне в чат carter.barry@gmail.com

Ответы [ 2 ]

1 голос
/ 02 января 2011

Причина в том, что заголовок является основным полем (хранится в таблицах " node " и " node_revisions ").Другие данные хранятся в другой таблице " content_type_NAMEOFTYPE " (плюс дополнительные таблицы на поле, принимающее несколько значений).

При удалении типа содержимого удаляются только дополнительныетаблицы (ы), но содержимое внутри "node" и "node_revisions" остается , поэтому вы получите неполные узлы, потому что в базе данных остается только заголовок (и тело / тизер), остальное было стерто стаблицы (что является несоответствием дизайна imho, они должны действительно удалить любой узел, который использует тип контента, который вы удаляете, вместо простого удаления дополнительных таблиц).


Самый простой способисправление, которое заключается в удалении строк непосредственно в базе данных (таблица " node " хранит имя типа содержимого в поле " type ", поэтому легко найти неисправные строки, простоне забудьте также удалить соответствующие строки в node_revisions ), а затем очистить кэш в "Drupal> Admin> Performance".

Но не делайте этого, если вы сначала не создадите резервную копию базы данных, на всякий случай; -)

1 голос
/ 02 января 2011

Drupal не удаляет узлы типа контента при удалении типа контента.Я полагаю, что это сделано специально, и вы ожидаете, что сами удалите узлы, если вы этого хотите.Если у вас не слишком много узлов, вы можете сделать это либо с помощью экрана администратора редактирования контента по умолчанию.Если это слишком утомительно, Views Bulk Operations - хороший способ сделать это.Вы также можете сделать form_alter в форме типа контента и сделать это автоматически, но это стоит изучить, только если вы часто сталкиваетесь с такой ситуацией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...