0

我正在尝试在 drupal 7 中以编程方式将多张图片附加到节点,但不知道如何。我什至不确定它是否可能。这是我将一张图片附加到节点的代码,它可以工作。请如果有人可以帮助我如何将多张图片附加到图像字段

$node->field_image['und'][0]['fid'] = $get_fid->fid;

4

2 回答 2

2

我明白了...首先您必须更改图像字段设置以在 1 到 10 之间上传或无限上传,这非常容易

foreach($sav_fid as $sn_fid) {
  $node->field_image['und'][$cnt_dlt]['fid'] = $sn_fid;
  $cnt_dlt++;
}

这将在 field_image 是附加到节点 api 的核心图像字段的情况下完成。

['und'] 只是我猜是未定义的语言代码。

[$cnt_dlt] 是一个计数器变量,它初始化 0 而不是增加 1,这部分是 delta(这个数字将增加附加图像)。

[fid] 是对 managed_file 表中文件的 field_image 引用。

$sn_fid 是 managed_file 表中的 fid(文件 id)。

为了使用 node_save($node) 创建图片并将其附加到节点;您已使用 file_copy($files); 上传文件 并通过创建一个对象并从中保存结果来保存 fid。

于 2010-08-28T01:38:15.083 回答
0

如果您添加文件使用计数器,会有好处。一种不那么简约的方法:

foreach ($sav_fid as $sn_fid) {
  $file = file_load($sn_fid);
  if (isset($file->filename)) {
    file_usage_add($file, 'file', 'node', $node->nid); 
    $node->field_images[LANGUAGE_NONE][] = array(
      'fid' => $file->fid,
      'filename' => $file->filename,
      'filemime' => $file->filemime,
      'uid' => 1,
      'uri' => $file->uri,
      'status' => 1
    );
  }
}
node_save($node);
于 2017-11-27T16:29:41.773 回答