Просто зніміть ідентифікатор вузла з unset($node->nid)
, і node_save () створить новий вузол.
Код, виконаний із node_save()
, такий:
// Insert a new node.
$node->is_new = empty($node->nid);
// ...
if ($node->is_new) {
_node_save_revision($node, $user->uid);
drupal_write_record('node', $node);
db_query('UPDATE {node_revisions} SET nid = %d WHERE vid = %d', $node->nid, $node->vid);
$op = 'insert';
}
Останній аргумент drupal_write_record () не передається; це означає, що функція не буде оновлювати існуючу рядок бази даних.
Після того, як об’єкт вузла було збережено node_save()
, $node->nid
містить ідентифікатор вузла для новоствореної рядки бази даних.