当你打开drupal的节点,发现其他字段都在,唯独没有看到正文内容的body字段?之前译站遇到过几次,明明数据库中表node、field_data_body、field_revision_body的内容都在,可就是无法在drupal节点中显示,之前的解决的办法都是恢复到之前的备份,但新建的内容就丢失了,最近译站又遇到该问题,所以折腾下来,终于找到原因,并成功的解决了这个问题,所以解决办法分享给大家:
出现该问题的原因有2种可能:
1、内容语言的设置问题
2、数据库中表node、field_data_body、field_revision_body中主键重复
解决办法:
1、统一所有的节点内容语言设置为und,在数据库中使用SQL语法设置、如果数据库表前缀,请记得加上前缀!
UPDATE node SET language = 'und'; UPDATE field_data_body SET language = 'und'; UPDATE field_revision_body SET language = 'und';
2、执行完后,有可能会出错,为什么呢?因为上面的数据库表中可能存在主键重复,确保如下图中每列主键值都是唯一的
因为译站经常备份、恢复网站,数据库就出现了些问题,在field_data_body、field_revision_body表中就有多个重复项,修改成唯一主键值后,问题就成功解决了。
添加新评论