【问题标题】:Bulk update magento attribute based on category. How?根据类别批量更新 magento 属性。如何?
【发布时间】:2012-08-21 20:53:09
【问题描述】:

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

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

所以我可以通过添加等级价格来批量更新这些产品属性?

谢谢

【问题讨论】:

    标签: magento


    【解决方案1】:

    你可以做一个模块来做到这一点。创建一个观察者来寻找你的module_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'),
            ));
        }
    

    然后,您在 updateAction() 中使用 $_post 获取选定的产品,然后更改它们的价格。

    【讨论】:

    • 我需要如何批量更改网站(更新多商店属性)
    【解决方案2】:

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

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

    改为向数据库中插入是很有诱惑力的,这显然会更快,但也有风险,而且绝不是一个好主意。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-17
      • 1970-01-01
      • 2012-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多