class Df_Dataflow_Model_Convert_Adapter_Sample extends Mage_Dataflow_Model_Convert_Adapter_Abstract { protected $_storeModel; public function load() { } public function save() { } public function getStoreModel() { if (is_null($this->_storeModel)) { $storeModel = Mage::getModel('df_dataflow/store'); $this->_storeModel = Mage::objects()->save($storeModel); } return Mage::objects()->load($this->_storeModel); } public function saveRow(array $importData) { // Делаем обработку текущей строки входных данных return true; } }
2) Если надлежит импортировать файл формата CSV, то настраиваем DataFlow так (для Excel аналогично):
<action type="dataflow/convert_adapter_io" method="load"> <var name="type">file</var> <var name="path">var/import</var> <var name="filename"><![CDATA[stores.csv]]></var> <var name="format"><![CDATA[csv]]></var> </action>
3) Задаём правила синтаксического разбора файла CSV (подключаем наш адаптер):
<action type="dataflow/convert_parser_csv" method="parse"> <var name="delimiter"><![CDATA[,]]></var> <var name="enclose"><![CDATA["]]></var> <var name="fieldnames">true</var> <var name="store"><![CDATA[0]]></var> <var name="number_of_records">1</var> <var name="decimal_separator"><![CDATA[.]]></var> <var name="adapter">[b]df_dataflow/convert_adapter_sample[/b]</var> <var name="method">[b]saveRow[/b]</var> </action>