Ich entwickle ein Modul zum Aktualisieren von Knoten (Revision aktivieren). Es sieht aus wie das.
$nodes = node_load_multiple(array(), array('type' => $bundleType));
foreach ($ndoes as $node){
$w = entity_metadata_wrapper('node',$node);
$w->MyFields->set($someValue);
$w->save();
}
Die Felder wurden korrekt festgelegt, aber die Revisions-ID des Knotens hat sich danach nicht geändert $w->save()
.
Wie kann ich die Revisions-ID aktualisieren?
$w->revision->set(1)
Ist das eine manuelle Methode, um dem Drupal mitzuteilen, dass der Knoten aktualisiert wurde? Ich werde es versuchen.
$w->revision->set()
funktioniert. Es scheint, ich verstehe falsch $w->save()
. Ich dachte, es sollte die Revisions-ID beim Speichern automatisch erhöhen. Gibt es überhaupt eine Möglichkeit, die Revisions-ID für die nächste Erhöhung zu erhalten? Vielen Dank
revision->set(1)
weist den Knoten an, eine neue Revision für die bevorstehende / aktuelle Bearbeitung des Knotens aufzuzeichnen. Ich bin nicht sicher, warum der Metadaten-Wrapper die globale Einstellung zum Erstellen einer neuen Revision nicht sieht ..... aber das Setzen des Revisionsflags ist eine sehr einfache Problemumgehung, wie Sie jetzt gesehen haben. Ich habe meinen Kommentar unten als Antwort angegeben, wenn Sie ihn verbessern möchten, damit andere Benutzer in Zukunft eine korrekte Antwort finden können.
create new revision
Flag auf dem Knoten für den Inhaltstyp gesetzt? Haben Sie es$w->revision->set(1);
vor dem Speichern gerne versucht ? ....