Estou desenvolvendo um módulo para atualizar nós (ativar a revisão). Se parece com isso.
$nodes = node_load_multiple(array(), array('type' => $bundleType));
foreach ($ndoes as $node){
$w = entity_metadata_wrapper('node',$node);
$w->MyFields->set($someValue);
$w->save();
}
Ele definiu os campos corretamente, mas o ID de revisão do nó não mudou depois $w->save()
.
Como posso atualizar o ID da revisão?
$w->revision->set(1)
, é uma maneira manual de informar o drupal que o nó foi atualizado? Eu vou tentar isso.
$w->revision->set()
funciona. Parece que eu entendi errado $w->save()
. Eu pensei que deveria aumentar o ID da revisão automaticamente enquanto salvava. Existe alguma maneira de obter o próximo aumento da ID de revisão? Obrigado
revision->set(1)
diz ao nó para registrar uma nova revisão na edição futura / atual do nó. Não sei por que o wrapper de metadados não está vendo a configuração global de criar nova revisão ..... mas definir o sinalizador de revisão é uma solução muito simples, como você já viu. Recebi meu comentário como resposta abaixo, se você desejar fazer um voto positivo para ajudar outros usuários no futuro a encontrar uma resposta correta.
create new revision
sinalizador está definido no nó para o tipo de conteúdo? Você já tentou como$w->revision->set(1);
antes de salvar? ....