djd*_*jdy 6 php drupal drupal-7
我有一个自定义内容类型,包含2个自定义字段:文件(文件)和列表(状态).
我可以通过以下方式设置状态值:
$node = node_load($n, $r);
$node->field_status[$node->language][0]['value'] = 1;
node_save($node);
Run Code Online (Sandbox Code Playgroud)
我想为服务器上的ALREADY文件创建field_file和file_managed(核心表)的条目.我已经知道文件的MIME类型,大小和路径.
实现这个目标的正确方法是什么?
Cli*_*ive 15
我将手动实例化文件对象并用于file_save()提交它(使用图像文件作为示例):
global $user;
$file = new stdClass;
$file->uid = $user->uid;
$file->filename = 'image.png';
$file->uri = 'public://path/to/file/image.png';
$file->status = 1;
$file->filemime = 'image/png';
file_save($file);
Run Code Online (Sandbox Code Playgroud)
然后你应该打电话file_usage_add()让Drupal知道你的模块在这个文件中有一个既得利益(使用nid你的$node对象):
file_usage_add($file, 'mymodule', 'node', $node->nid);
Run Code Online (Sandbox Code Playgroud)
最后,您可以将文件添加到节点:
$node->field_file[$node->language][] = array(
'fid' => $file->fid
);
Run Code Online (Sandbox Code Playgroud)
希望有所帮助
| 归档时间: |
|
| 查看次数: |
6205 次 |
| 最近记录: |