更新节点的正确方法';Drupal 6中的s路径编程

更新节点的正确方法';Drupal 6中的s路径编程,drupal,path,Drupal,Path,我正在以编程方式编辑节点路径,如Drupal6中所示: $node = node_load(3); $node->path = 'some/new/path'; node_save( $node ); 这当然有效,但旧的别名仍然存在。最好的方法是什么?我看不到用于删除旧别名的路径函数或路径自动函数。还是只需要在url\u alias表上使用SQL删除别名 你应该使用 要更新路径,请查看,例如: 但这并不能删除旧别名,是吗?好的,所以我将其更改为使用路径函数,而不是保存节点上的path属性

我正在以编程方式编辑节点路径,如Drupal6中所示:

$node = node_load(3);
$node->path = 'some/new/path';
node_save( $node );
这当然有效,但旧的别名仍然存在。最好的方法是什么?我看不到用于删除旧别名的路径函数或路径自动函数。还是只需要在url\u alias表上使用SQL删除别名

你应该使用

要更新路径,请查看,例如:


但这并不能删除旧别名,是吗?好的,所以我将其更改为使用路径函数,而不是保存节点上的path属性,但是否有一个内部函数可以替代url\u alias表上的直接删除SQL,因为path\u set\u alias似乎不会删除旧别名。
path\u set\u alias
将更新别名(无需删除)如果您提供了节点pid。答案已更新。
path_set_alias('node/' . $node->nid, $node->path, isset($node->pid) ? $node->pid : NULL, isset($node->language) ? $node->language : '');