我已经将D7日期字段迁移到D9智能日期(具有递归)。在迁移过程中,我分析了遗留的重复规则,并将它们填充到新的D9智能日期字段中。
但是,除非我首先手动编辑和保存节点(不做任何更改),否则重复日期不会显示在视图中。
问题是,我有数百个需要重新分配的节点,而任何一个progratic方法都无法工作。只有手动编辑和保存,才会迫使重复规则完成显示所需的操作。
我试过使用视图块操作的保存节点功能。我试过使用Save模块。我尝试创建一个PHP脚本来加载和保存节点。
这些都不管用。我的剧本在下面。知道为什么只能手工保存吗?

发布于 2021-12-13 16:35:47
知道为什么只能手工保存吗?
正如Jaypan在评论中提到的那样,这是因为如果没有任何变化,Drupal将不会保存节点。
当您的提交实体的表格具有创建/更改日期(即实现EntityChangedInterface)时,它会执行以下操作:
if ($entity instanceof EntityChangedInterface) {
$entity->setChangedTime($this->time->getRequestTime());
}这将更改字段值,从而强制实体保存。
您可以使用相同的方法强制在代码中保存。
https://drupal.stackexchange.com/questions/308708
复制相似问题