Как добавить к ноде поле Image программно?

Главные вкладки

Аватар пользователя Joseph Joseph 24 июля 2022 в 23:18

Есть entity в которую я добавил поле Image. В базе данных есть кастомная таблица с разными колонками где лежат в том числе и id-шки картинок.

Раньше создал батч который записывает данные из этой таблицы в поля entity. То есть создает из записей в таблице много энтити с заполненными полями. Нужно делать также но уже для картинок. Часть кода из батча:

<?php
if (empty($entity_id)) {
      
$info = [
        
'type' => 'product',
        
'title' => $productTitle,
        
'field_name' => (string) $product->name,
        
'field_product_cid' => (string) $product->cid,
        
'field_custom_url' => $product->url,
        
'uid' => 1,
        
// вот здесь нужно добавлять картинку в поле field_image из таблицы
      
];
      
$node $this->entityTypeManager->getStorage('node')->create($info);
      
$node->save();
    }
    else {
      
$storage $this->entityTypeManager->getStorage('node');
      
$node $storage->load($entity_id);

      

// Change fields of node.
      
$node->set('title'$productTitle);
      
$node->set('field_name', (string) $product->name);
      
$node->set('field_custom_url'$product->url);
       
// а здесь изменять field_image если нода уже существует
      
$node->save();
    }

  }

?>

Комментарии