2016-10-14 3 views
1

Я пытаюсь импортировать данные в Drupal 8 каждый день, и я заблокирован в точке, где мне нужно обновлять изображения. Поэтому у меня есть поле «Изображение», которое содержит неограниченное количество изображений.Редактирование изображений в Drupal-узле программно

Когда я впервые импортировал изображения, я создаю их и добавляю их в поле field_images узла. Добавление работает.

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

При обновлении узла мне нужно заменить каждое измененное значение этого узла. Этот код работает отлично

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

Теперь это не работает, когда я включаю переводы, когда он редактирует только значение по умолчанию. Смотрите этот отладчик образ, когда я перезагрузить этот обновленный узел:

enter image description here

Как я могу обновить все переводы тоже?

ответ

1

Вам нужно сделать что-то вроде этого:

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

$ file1 уже загружен и содержит то, что вы написали. Я сказал, что вставка работает :) Это просто часть перевода, а не работа. Я просто обновился до drupal 8.2.1 и все еще есть некоторые проблемы, возможно, вызванные drupal?! – YoyoS

Смежные вопросы