ノードを更新するモジュールを開発しています(リビジョンを有効化)。こんな感じです。
$nodes = node_load_multiple(array(), array('type' => $bundleType));
foreach ($ndoes as $node){
$w = entity_metadata_wrapper('node',$node);
$w->MyFields->set($someValue);
$w->save();
}
フィールドは正しく設定されましたが、ノードのリビジョンIDは後に変更されませんでした$w->save()
。
リビジョンIDを更新するにはどうすればよいですか?
$w->revision->set(1)
はあまり知りませんが、ノードが更新されたことをdrupalに手動で通知する方法ですか?やってみます。
$w->revision->set()
動作します。誤解するようです$w->save()
。保存中に自動的にrevision-idを増やすべきだと思いました。次の増加リビジョンIDを取得する方法はありますか?ありがとう
revision->set(1)
ノードの今後の/現在の編集に関する新しいリビジョンを記録するようにノードに指示します。メタデータラッパーがcreate new revision .....のグローバル設定を認識していない理由はわかりませんが、リビジョンフラグを設定することは、今見たように非常に簡単な回避策です。将来他のユーザーが正しい答えを見つけるのに役立つようにコメントをアップしたい場合は、以下の回答として私のコメントを提供します。
create new revision
フラグは、コンテンツタイプのノードに設定されていますか?$w->revision->set(1);
保存する前に試しましたか?....