2

试图在 Drupal-7 中创建一个节点并附加一个现有的罚款。

我花了很多时间将服务器端的现有文件附加到新创建的节点。我用谷歌搜索了很多,几乎所有的例子都有文件上传/保存然后附加到一个节点。没有得到任何说明如何将现有文件附加到新创建的节点的文档。

在高层次上,我的代码如下。

 $node = new stdClass();
 $node->type = resume' ;  // a new content type created
 node_object_prepare($node);
 $node->title = My title';
 $node->language = 'en'; 
 $node->uid = 1; 
 $file_obj = file_load($fid); 
 $node->field_resume[$node->language][0] = (array)$file_obj; //field_resume is the   machine name for file field
 node_save($node);

有人可以让我知道我在这里缺少什么吗?新节点已创建,没有附件。如何将文件附加到节点。

4

2 回答 2

1

通常这应该有效,请尝试添加以下行并告诉我它是否有效

$node = new stdClass();
$node->is_new = TRUE; // This is the line I added.
// Your code continues as is...

希望这行得通……穆罕默德。

于 2012-10-10T10:20:14.520 回答
0

我自己没有这样做,但找到了一个链接,其中完成了以下操作:

$node->field_resume[$node->language][0]['fid'] = $fid;

与您的代码不同的是,上面的代码只是设置了 $fid。不确定它是否有效,但你可以试一试。

此外,您可能希望调用file_usage_add()让 Drupal 知道该节点现在保留对该文件的引用。

于 2012-10-10T07:53:40.307 回答