2011-09-07 64 views
1

使用自定义模块导入节点时,我发现虽然在node_save上创建了别名(来自pathauto),但节点路径本身不起作用。在View中使用Content:Link字段将导致节点/(节点ID)而不是其别名。以编程方式创建的节点不会收到路径

这里是代码,我使用的是创建节点:

$node = new stdClass(); 
$node->type = 'article'; 
node_object_prepare($node); 
$node->language = LANGUAGE_NONE; 
$node->title = substr(strip_tags($clean_title), 0, 20) . '...'; 
$node->body[$node->language][0]['value'] = $clean_body; 
$node->status = 1; 
$node->archive = 0; 
$node->uid = 1; 
node_save($node); 

我如何连接与url_alias节点?我可以看到它们是在url_alias表中创建的。

回答

2

注意:我在发帖之后添加了$node->language = LANGUAGE_NONE;,这似乎解决了我的问题。容易错过!

+1

前段时间我遇到了这个问题。不幸的是,Drupal在表单API中进行了节点验证,这使得创建节点变得困难。你没有得到任何反馈。 – Rimian