我正在开发一个模块来更新节点(启用修订版)。看起来像这样。
$nodes = node_load_multiple(array(), array('type' => $bundleType));
foreach ($ndoes as $node){
$w = entity_metadata_wrapper('node',$node);
$w->MyFields->set($someValue);
$w->save();
}
它正确设置了字段,但是节点的版本号在之后没有改变$w->save()
。
如何更新修订版本ID?
是的,“创建新修订”已打开。我不太了解
—
竹春2014年
$w->revision->set(1)
,这是让drupal知道节点已更新的手动方法吗?我会试试。
嗯,
—
zhuchun 2014年
$w->revision->set()
工作。看来我误会了$w->save()
。我认为它应该在保存时自动增加版本号。无论如何,有没有获得下一个修订版本编号?谢谢
否,
—
Tenken 16:09
revision->set(1)
告诉节点在节点的当前/当前编辑中记录新修订。我不确定为什么元数据包装程序没有看到创建新修订版本的全局设置.....,但是正如您现在看到的那样,设置修订版本标志是一个非常简单的解决方法。如果您愿意投票支持我的评论,以供以后其他用户找到正确的答案,请在下面提供我的评论。
create new revision
节点上为内容类型设置了标志?$w->revision->set(1);
保存之前是否尝试过?....