Early Bird Registration for DrupalCon Portland 2024 is open! Register by 23:59 PST on 31 March 2024, to get $100 off your ticket.
I'm trying to migrate a link field with translation enabled.
It throws an error - Illegal offset type in ../modules/contrib/link/link.migrate.inc, line 108
This is my migrate constructor -
$this->addFieldMapping('field_link', 'field_link_array');
$this->addFieldMapping('field_link:title', 'field_link_title_array');
$this->addFieldMapping('field_link:attributes', 'field_link_attributes_array');
$this->addFieldMapping('field_link:language', 'field_link_language_array');
In my prepareRow() I'm assigning these array with corresponding language values.
public function prepareRow($row) {
if (parent::prepareRow($row) === FALSE) {
return FALSE;
}
$row->field_link_array = array('https://link/link-english','https://link/link-french');
$row->field_link_title_array = array('link-english','link-french');
$row->field_link_attributes_array= array('attribute-en','attribute-fr');
$row->field_link_language_array= array('en','fr');
}
In link.migrate.inc when I checked line 108 -
$return[$language][$delta] = $item;
$language will be array and not the language code itself if the field supports multilingual.
Comments
Comment #2
wil2091 CreditAttribution: wil2091 as a volunteer commented