Créé le 22/02/2014
Dernière mise à jour le 22/02/2014
Parser un fichier CSV
Afin d'éviter des problèmes de sauts de ligne lors de l'import de fichiers CSV avec Migrate, il est possible d'utiliser l'option embedded_newlines dans votre classe de migration.
class TotoMigration extends Toto_Basic_Migration {
public function __construct($arguments) {
parent::__construct($arguments);
$this->description = t('Import CSV-file');
$columns = array(
// "Source": ('Fieldname', 'Description')
0 => array('id', t('id')),
1 => array('title_in_csv, t('title')),
);
$this->source = new MigrateSourceCSV(
DRUPAL_ROOT . '/' . drupal_get_path('module', 'mon_module') . '/data_sources/'mon_fichier.csv',
$columns,
array(
'header_rows' => 1,
'embedded_newlines' => TRUE
)
);
$this->destination = new MigrateDestinationNode('mon_type_de_contenu');
$this->map = new MigrateSQLMap($this->machineName,
array(
'id' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
)
),
MigrateDestinationNode::getKeySchema()
);
// Mapped fields
$this->addFieldMapping('title', 'title_in_csv')
->defaultValue('');
}
}
Ajouter un commentaire