Magento 导出产品

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

这里使用的是后台 System / Imprt/Export / Export 这块的model,详情去看代码

function run($sku){
    $sku = trim($sku);
    return $sku;
}
$skus = array_map("run", file('sku.txt')); //sku.txt 给出需要产品的sku

require_once('app/Mage.php');
Mage::app('default');

foreach($skus as $sku){
    $product = Mage::getModel('catalog/product')->loadByAttribute('sku', $sku);
    if($product){
        $params = array('entity'=>'catalog_product', 'file_format'=>'csv', 'attribute_code'=>'sku', 'export_filter'=>array('sku'=>''.$sku.'')); //参数
        $model = Mage::getModel('importexport/export');
        $model->setData($params);
        echo $model->export();
    }
}

这里有个问题是取产品集合的时候会判断是否使用索引数据,如果是后台或者索引不是READY的状态,就不会使用索引,这里既然拿出来了,也就会去使用索引的类,那导出产品需要的一些方法就不存在,就会报错。 解决: app/code/local

class Mage_Catalog_Model_Resource_Product_Export extends Mage_Catalog_Model_Resource_Product_Collection
{
    public function isEnabledFlat()
    {
        return false;
    }
}

修改导出使用的产品集合类

#class Mage/ImportExport/Model/Export/Entity/Product.php
public function export()
{
    ...
    $collection = $this->_prepareEntityCollection(Mage::getResourceModel('catalog/product_export'));//
    ...
}

可以使用命令行运行让输出的内容保存到csv表格中,然后稍加编辑就可以使用相应的导入产品。

(完)

转载于:https://my.oschina.net/liufeng815/blog/788365

你可能感兴趣的:(Magento 导出产品)