Php 如何在Drupal中以编程方式向节点添加多个图像-如果可能的话
我试图在drupal 7中以编程方式将多个图片附加到节点,但不知道如何附加。我甚至不确定这是否可能。下面是我的代码,用于将一张图片附加到节点,它可以正常工作。如果有人能帮助我如何将多张图片(不止一张)附加到图像字段,请联系我Php 如何在Drupal中以编程方式向节点添加多个图像-如果可能的话,php,drupal,drupal-6,drupal-7,Php,Drupal,Drupal 6,Drupal 7,我试图在drupal 7中以编程方式将多个图片附加到节点,但不知道如何附加。我甚至不确定这是否可能。下面是我的代码,用于将一张图片附加到节点,它可以正常工作。如果有人能帮助我如何将多张图片(不止一张)附加到图像字段,请联系我 $node->field_image['und'][0]['fid']=$get_fid->fid 我明白了……首先,你必须更改图像字段设置,使其在1到10之间上传,或者不受限制地上传 foreach($sav_fid as $sn_fid) { $node->f
$node->field_image['und'][0]['fid']=$get_fid->fid 我明白了……首先,你必须更改图像字段设置,使其在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,这部分是增量(这个数字将增加imagae)
[fid]是托管文件表中文件的字段图像引用
$sn_fid是托管_文件表中的fid(文件id)
为了使用node_save($node)创建图片并将其附加到节点;您已使用file_copy($files)上传文件;并通过创建一个对象并保存其结果来保存fid。如果添加文件使用计数器,则会有好处。 不那么简单的方法:
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);