以编程方式在Drupal节点中编辑图像

时间:2016-10-14 14:39:08

标签: drupal-8

我每天都试图将数据导入到Drupal 8中,并且在我需要更新图像的位置被阻止。所以我有一个包含无限图像的图像字段。

首次导入图像时,我创建它们并将它们添加到节点field_images字段中。添加工作正在进行中。

$entity = Node::create(
 [...,
  field_images => [$file1],
  ...
 ]);

当有节点更新时,我需要替换此节点的每个更改值。这段代码完美无缺

$node = Node::load(1);
$node->set('field_images',[$file2]);
$node->save();

现在,当我启用翻译时,这不起作用,因为它只编辑默认值。 重新加载此更新节点时,请参阅此调试器映像:

enter image description here

我怎样才能更新所有翻译?

2 个答案:

答案 0 :(得分:1)

你需要做这样的事情:

     'field_image' => 
      [
        'target_id' => $values['image'][0],
        'alt' => $values['title'],
      ],

答案 1 :(得分:0)

尝试一下

$node->field_images->de->target_id = $file->id();