Существует два способа миграции данных в multiple value поля.
Первый — указать разделитель значений поля с помощью метода MigrateFieldMapping::separator()
:
public function __construct($arguments) {
...
$this->addFieldMapping('field_tags', 'tags')->separator(',');
}
Второй — в Migration::prepareRow()
вручную заполнить поле значениями:
public function __construct($arguments) {
...
$this->addFieldMapping('field_tags', 'tags');
}
public function prepareRow($row) {
...
$row->tags = array('tag1', 'tag2', 'tag3');
}
Более сложный пример с составным полем:
public function __construct($arguments) {
...
$this->addFieldMapping('field_images', 'images');
$this->addFieldMapping('field_images:alt', 'images_alt');
$this->addFieldMapping('field_images:title', 'images_title');
}
public function prepareRow($row) {
...
$row->images = array('image1.jpg', 'image2.jpg', 'image3.jpg');
$row->images_alt = array('Image 1 alt', 'Image 2 alt', 'Image 3 alt');
$row->images_title = array('Image 1 title', 'Image 2 title', 'Image 3 title');
}
Написанное актуально для
Migrate 2.4
Похожие записи
- Сохранение файлов, загруженных с помощью One Click Upload, в File/Image field
- Модуль FileField Sources — дополнительные возможности виджета загрузки файлов
- Как программно добавить к ноде картинку
- Модуль Multiupload Filefield Widget — виджет массовой загрузки файлов для Drupal 7
- Создание сравнительной таблицы с значениями из EAV Field
Добавить комментарий