我正在使用Drupal6编程方式编辑节点路径,代码如下:
$node = node_load(3);
$node->path = 'some/new/path';
node_save( $node );
当然,这种方法是可行的,但旧别名仍然存在。最好的方法是什么?我没有看到任何路径函数或pathauto函数可以删除旧的别名。难道我只需要在url_alias表上使用SQL来删除别名吗?
您应该使用path_set_alias来设置别名。
要更新路径,请查看path_nodeapi,例如:
path_set_alias('node/' . $node->nid, $node->path, isset($node->pid) ? $node->pid : NULL, isset($node->language) ? $node->language : '');
path_set_alias
将更新别名(无需删除它)。回答已更新。 - soju