php - magento dataflow: how to call action once before processing any row -
context: magento 1.7.0.0 version. have import csv data, magento dataflow advanced profiles. have made adapter implements mage_dataflow_model_convert_adapter_abstract. i've implemented saverow() method processing each row, ok.
next step: want run code before row processed: save() or beforesave() method... how can it?
i guess have implement save() method mage_dataflow_model_convert_adapter_abstract , add on the actions xml section on import profile:
<!-- adapter: loading data local csv file--> <action type="dataflow/convert_adapter_io" method="load"> <var name="type">file</var> <var name="path">var/import</var> <var name="filename"><![cdata[blabla.csv]]></var> <var name="format"><![cdata[csv]]></var> </action> <!-- parsing: transform database entities --> <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="adapter">mymodule/convert_adapter_blabla</var> <var name="method">saverow</var> </action> any suggestions welcome, thanks! :)
the save() method triggered once per import, don't think way want go with. though has access collection data, so, depending on operation want may fit.
have implemented saverow() method, can't include in call (private) method before doing else?
public function saverow() { $this->_someprivatemethod(); ... /** rest of saverow() method **/ ... } private function _someprivatemethod() { /** code want execute before every row saved **/ }
Comments
Post a Comment