在Drupal 7中,一些分类法术语被删除(出于某种原因,强制从直接DB查询中删除)。因此,保留了一些节点仍然标记这个删除的出租车术语。然后,这个问题出现在网站索引阶段。这个过程正在被打破。
所以我相信我需要找到标记到这些不再存在/损坏的Nodes上的Taxonomy Terms,来标记它们。
谢谢。
发布于 2013-01-10 09:47:05
就像FYI一样,即使正确删除了这些条款,引用仍然会被破坏(参见删除术语后未删除术语引用字段的数据库记录)。
无论哪种方式,要回答您的问题,您可以使用超级有用的分类孤儿院模块。
该模块提供接口(drush、cron、admin表单),用于从实体中删除孤立的分类法术语引用。
发布于 2013-01-10 13:06:57
分类法术语数据保存在'taxonomy_term_data‘表中。当您在文章内容类型中添加一个字段,例如,文章类别(机器名称- field_category)时,它的类型是术语引用,例如类别词汇,那么系统就会创建一个类似于‘field _data_field_ creates’的表。
现在,在知道了您的自定义字段的表名之后,您可以执行一个查询,该查询将为您提供一个节点,这些节点将被标记到这些不再存在/损坏的分类法术语,
SELECT f.* FROM field_data_field_category f left join taxonomy_term_data t on f.field_category_tid = t.tid WHERE t.tid is null;在这里,只需指定表/字段名即可。
https://drupal.stackexchange.com/questions/56382
复制相似问题