Saya sedang mengembangkan modul untuk memperbarui node (aktifkan revisi). Ini terlihat seperti ini.
$nodes = node_load_multiple(array(), array('type' => $bundleType));
foreach ($ndoes as $node){
$w = entity_metadata_wrapper('node',$node);
$w->MyFields->set($someValue);
$w->save();
}
Ini mengatur bidang dengan benar tetapi id revisi-simpul tidak berubah setelah $w->save()
.
Bagaimana saya bisa memperbarui ID revisi?
$w->revision->set(1)
, apakah itu cara manual untuk membiarkan drupal tahu bahwa node telah diperbarui? Saya akan mencobanya.
$w->revision->set()
berhasil. Sepertinya saya salah paham $w->save()
. Saya pikir itu harus meningkatkan id revisi secara otomatis sambil menyimpan. Apakah ada cara untuk mendapatkan id peningkatan revisi berikutnya? Terima kasih
revision->set(1)
memberitahu node untuk merekam revisi baru pada edit node yang akan datang / saat ini. Saya tidak yakin mengapa pembungkus metadata tidak melihat pengaturan global untuk membuat revisi baru ..... tetapi pengaturan bendera revisi adalah solusi yang sangat sederhana seperti yang Anda lihat sekarang. Saya memberikan komentar saya sebagai jawaban di bawah ini jika Anda ingin meningkatkannya untuk membantu pengguna lain di masa depan menemukan jawaban yang benar.
create new revision
flag ditetapkan pada node untuk tipe konten? Sudahkah Anda mencoba$w->revision->set(1);
sebelum menabung? ....