CSV Import
One of the classes used by the standard CSV Import (the one available from any module's ListView) has been made extendable via SDK::setClass and highly refactored to split the main method into smaller ones, to ease modification of specific behaviours:
Import_Data_Controller: This class now can be extended
For example, if you need to modify a value of a specific field before being saved to the database:
// register the class
SDK::setClass('Import_Data_Controller', 'Import_Data_ControllerCustom', 'modules/SDK/src/CUSTOMER/ImportCustom.php');
And the class:
<?php
require_once('modules/Import/controllers/Import_Data_Controller.php');
class Import_Data_ControllerCustom extends Import_Data_Controller {
/**
* Transform a single field value to a format suitable to vte
*/
protected function transformFieldValue($fieldName, $fieldValue, $fieldInstance, $moduleMeta) {
$fieldValue = parent::transformFieldValue($fieldName, $fieldValue, $fieldInstance, $moduleMeta);
if ('Accounts' === $this->module && 'accountname' === $fieldName) {
// append "IMPORTED" to the accountname
$fieldValue .= ' - IMPORTED';
}
return $fieldValue;
}
}