0

如何在 Drupal 7 中生成(纯文本)文件,并将其自动附加到特定节点。

有没有办法用模块做到这一点,或者我应该使用代码以某种方式做到这一点(这似乎很棘手)。

4

2 回答 2

1

首先使用drupal file_save_data创建一个文件

$data = 'Your text data';     // Text data to be saved to file.
$filename = 'filename.txt';   // Filename
$file = file_save_data($data,'public://' .$filename);

现在 $file 将包含我们可以附加到节点的文件对象。假设您已经创建了一个文件字段并将其附加到节点类型。让我们称之为“field_custom_file”

然后加载要附加的节点,然后将文件对象转换为数组并将其附加到字段。

$node = node_load($nid);  // $nid is the id of the node where you want to attach the file.
$node->field_custom_file[LANGUAGE_NONE][] = (array)$file;
node_save($node);
于 2013-03-01T23:05:30.050 回答
0
$file = (object) array(
    'uid' => 1,
    'uri' => $filepath,
    'filemime' => file_get_mimetype($filepath),
    'status' => 1,
    'display' => 1,
);
$file = file_copy($file, 'public://');
$node->field_file['und'][0] = $file;
于 2013-03-01T15:25:02.957 回答