根据类别批量更新magento属性。怎么样?

时间:2012-08-21 20:53:10

标签: magento

我的网站上有1000多种产品。

我想根据类别添加等级价格。我的意思是每个类别都有不同的等级价格...有没有办法在magento中根据类别编辑产品属性?

所以我可以通过增加等级价格来大规模更新这些产品属性吗?

由于

2 个答案:

答案 0 :(得分:1)

你可以做一个模块来做这件事。创建一个观察者来查找youmodule_core_block_abstract_prepare_layout_before,并在您的观察者方法中执行此操作:

 $block = $observer->getEvent()->getBlock();
    if(get_class($block) =='Mage_Adminhtml_Block_Widget_Grid_Massaction'
        && $block->getRequest()->getControllerName() == 'catalog_product') //change catalog_product to others grids.
    {
        $block->addItem('yourmodule', array(
            'label' => 'Price by Category',
            'url' => Mage::app()->getStore()->getUrl('yourmodule/controller/update'),
        ));
    }

然后,您使用$ _post在updateAction()中选择产品,并更改其价格。

答案 1 :(得分:1)

根据Guerra的回答,一旦您进入updateAction,您需要一种更新产品层级定价的方法。

您可以使用Mage_Catalog_Model_Product_Attribute_Tierprice_Api_V2上的api函数来创建或更新等级定价。查看Mage_Catalog_Model_Product_Attribute_Tierprice_Api :: update中的实现,以了解如何使用API​​。

很有可能将数据插入到数据库中,这显然会更快但有风险并且永远不是一个好主意。

您还需要一种方法来指定层级价格 - 除了硬编码到您的模块之外。

我建议您查看一些商业批量价格更新扩展程序,它们将为您完成所有这些工作。您可以修改它们以根据类别进行过滤。例如 - 我们的价格更新器在那里是90%。