如果你没有看前两篇介绍批量导入的文章,请先阅读前两篇文章。
Magento导入多图,自定义选项
Magento导入多图,自定义选项 (2)
在使用这个插件导入自定义选项的时候,我们发现导入的自定义选项的顺序,是按照字母顺序排列的。
比如,我们导入颜色下拉菜单,我们csv文件中的属性顺序是: red,blue,white。但是导入后我们发现他们的顺序已经变成了:blue,red,white。也就是会按照字母的顺序来排列。
我们需要修改其插件代码,来fix这个问题。
需要修改的插件文件路径: app\code\community\CapacityWebSolutions\ImportProduct\Model\Convert\Adapter\product.php
代码片段说明:在大概132行的位置,添加 $i 变量,在大概210行位置,将sort_order的值换为$i++,这样就会按照导入顺序给导入值设置排序的权重。
$i = 0; foreach ($importData as $field => $value) { if (in_array($field, $this->_inventoryFields)) { continue; } if (in_array($field, $this->_imageFields)) { continue; } $attribute = $this->getAttribute($field); if (!$attribute) { if(strpos($field,':')!==FALSE && strlen($value)) { $values=explode('|',$value); if(count($values)>0) { @list($title,$type,$is_required,$sort_order) = explode(':',$field); $title = ucfirst(str_replace('_',' ',$title)); $custom_options[] = array( 'is_delete'=>0, 'title'=>$title, 'previous_group'=>'', 'previous_type'=>'', 'type'=>$type, 'is_require'=>$is_required, 'sort_order'=>$sort_order, 'values'=>array() ); foreach($values as $v) { $parts = explode(':',$v); $title = $parts[0]; if(count($parts)>1) { $price_type = $parts[1]; } else { $price_type = 'fixed'; } if(count($parts)>2) { $price = $parts[2]; } else { $price =0; } if(count($parts)>3) { $sku = $parts[3]; } else { $sku=''; } if(count($parts)>4) { $sort_order = $parts[4]; } else { $sort_order = 0; } switch($type) { case 'file': break; case 'field': case 'area': $custom_options[count($custom_options) - 1]['max_characters'] = $sort_order; case 'date': case 'date_time': case 'time': $custom_options[count($custom_options) - 1]['price_type'] = $price_type; $custom_options[count($custom_options) - 1]['price'] = $price; $custom_options[count($custom_options) - 1]['sku'] = $sku; break; case 'drop_down': case 'radio': case 'checkbox': case 'multiple': default: $custom_options[count($custom_options) - 1]['values'][]=array( 'is_delete'=>0, 'title'=>$title, 'option_type_id'=>-1, 'price_type'=>$price_type, 'price'=>$price, 'sku'=>$sku, 'sort_order'=>$i++, ); break; } } } } continue; }
修改后文件下载:Product.php
转载标明出处:www.hellokeykey.com