Drupal显示已删除内容类型的标题(但没有其他数据)

时间:2011-01-01 20:32:24

标签: drupal

我的http://drupal.94y.info/ Drupal 6安装显示了来自a的许多节点的标题 内容类型不再存在。

当我删除内容类型时,Drupal删除了那些数据 节点,除了显然仍然存在的标题。

如何解决?

对于管理员权限,gmail聊天我carter.barry@gmail.com

2 个答案:

答案 0 :(得分:1)

删除内容类型时,Drupal不会删除内容类型的节点。我相信这是设计的,如果你想要发生这种情况,你应该自己删除节点。如果没有太多节点,可以使用默认内容编辑管理屏幕执行此操作。如果这太繁琐了,Views Bulk Operations是一个很好的方法。您还可以在内容类型表单上执行form_alter并自动执行此操作,但如果这是您经常遇到的情况,那么这是值得探索的。

答案 1 :(得分:1)

原因是标题是核心字段(存储在表“节点”和“ node_revisions ”中)。其他数据存储在另一个表“ content_type_NAMEOFTYPE ”中(以及每个接受多个值的字段的附加表格)。

当您删除内容类型时,它只会删除额外的表,但“node”和“node_revisions”中的内容仍为,因此您最终会得到不完整的节点,因为只有title(和body / teaser)保留在数据库中,其余的已经被表格删除(这是一个设计不一致的imho,他们应该真正删除任何使用你删除的内容类型的节点,而不是简单地删除额外的表格(一个或多个))。


最直接的解决方法是直接在数据库中删除行(表“节点”在“类型”字段中存储内容类型的名称所以很容易找到有缺陷的行,只是不要忘记删除 node_revisions 中的匹配行,然后在“Drupal> Admin> Performance”中清除缓存。

但是,除非先进行数据库备份,否则不要这样做,以防万一; - )