Estoy desarrollando un módulo para actualizar nodos (habilitar revisión). Se parece a esto.
$nodes = node_load_multiple(array(), array('type' => $bundleType));
foreach ($ndoes as $node){
$w = entity_metadata_wrapper('node',$node);
$w->MyFields->set($someValue);
$w->save();
}
Estableció los campos correctamente, pero la revisión-id del nodo no cambió después $w->save()
.
¿Cómo puedo actualizar la ID de revisión?
$w->revision->set(1)
, ¿es esa una forma manual de informar al drupal que el nodo se ha actualizado? Voy a probarlo.
$w->revision->set()
funciona. Parece que no lo entiendo $w->save()
. Pensé que debería aumentar la revisión-id automáticamente al guardar. ¿Hay alguna forma de obtener el próximo ID de revisión de aumento? Gracias
revision->set(1)
le dice al nodo que registre una nueva revisión en la edición próxima / actual del nodo. No estoy seguro de por qué el contenedor de metadatos no está viendo la configuración global de crear una nueva revisión ... pero configurar la marca de revisión es una solución muy simple como ya has visto. A continuación, recibo mi comentario como respuesta si desea votar a favor para ayudar a otros usuarios en el futuro a encontrar una respuesta correcta.
create new revision
bandera establecida en el nodo para el tipo de contenido? ¿Has probado como$w->revision->set(1);
antes de guardar? ....