我是magento的新手,我正在尝试从自定义模块导入csv文件。我会试着解释一下。我创建了一个模块来输入区域信息(即区域名称,成本等),它完美地工作,我可以添加新区域。现在我试图添加一个" import"来自wihch的按钮我可以导入一个csv文件,其中包含有关多个区域的信息,该信息将保存在magento数据库的my region表中.FYI我使用的是平台。
到现在为止,我可以在Grid视图旁边添加一个按钮" Add New"点击时,它会重定向到导入功能。在此之后,我无法弄清楚要做什么,我认为选择文件菜单应该看起来选择我的csv,但我无法达到它。任何人都可以帮助。任何帮助都是适合的。
Thanx提前
答案 0 :(得分:1)
我假设你有自定义实体的资源模型(否则它不会工作)
资源模型应放在[Namespace]/[Module]/Model/Resource/[Entity].php
在该资源模型中创建此方法
public function saveImportData(array $data){
if (!empty($data)) {
$columns = array('region_name', 'cost'); //add here all your column names except the autoincrement column.
$this->_getWriteAdapter()->insertOnDuplicate($this->getMainTable(), $data, $columns);
}
return $this;
}
现在,在您上传文件的操作中,解析该文件并创建一个包含要插入的行的数组。
您的数组应如下所示:
$toImport = array(
array('region_name' => 'Region 1', 'cost'=>'12.99', ...rest of the fields here),
array('region_name' => 'Region 2', 'cost'=>'17.99', ...rest of the fields here),
....
)
现在你只需要在控制器中调用
Mage::getResourceModel('[module]/[entity]')->saveImportData($toImport);