尝试在Drupal-7中创建节点并附加现有的罚款。
我花了很多时间将服务器端的现有文件附加到新创建的节点上。 我google了很多,几乎所有的例子都在那里进行文件上传/保存然后附加到节点。 没有得到任何文档说明如何将现有文件附加到新创建的节点。
在较高级别,我的代码如下所示。
$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);
有人可以让我知道我在这里缺少什么吗? 创建新节点,没有附件。 如何将文件附加到节点。
答案 0 :(得分:1)
通常这应该有效,请尝试添加以下行并告诉我它是否有效
$node = new stdClass();
$node->is_new = TRUE; // This is the line I added.
// Your code continues as is...
希望这有效......穆罕默德。
答案 1 :(得分:0)
我自己没有这样做,但找到了link以下内容:
$node->field_resume[$node->language][0]['fid'] = $fid;
与您的代码的区别在于上面的代码只是设置$ fid。不确定它是否有效,但你可以尝试一下。
此外,您可能希望调用file_usage_add()让Drupal知道节点现在保留对该文件的引用。