Magento - 将数据输入错误的字段

时间:2014-07-30 06:18:56

标签: mysql magento e-commerce bulk

将产品上传到数据库时,我们做错了什么。 SKU编号最终在描述中,描述最终以SKU结尾。

大约有1000种产品,因此手动执行此操作不是一种选择。此外,这是一个旧的错误,直到现在还没有被注意到,所以很多产品现在都有订单历史记录。

有没有办法切换这些字段?

1 个答案:

答案 0 :(得分:0)

尝试识别出现此问题的产品ID 如果所有这些都处于这种状况,那就更容易了 我们的想法是首先获得所有需要修改的产品 如果您可以手动获取它们:

$ids = array(1,3,5,6,7,8, ...);
$products = Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('description')->addAttributeToFilter('entity_id', $ids);

如果所有产品都需要修改,请执行以下操作:

$products = Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('description');

让所有ID运行此脚本之后:

foreach ($products as $product) {
    Mage::getSingleton('catalog/product_action')->updateAttributes(
        array($product->getId()), //id to update
        array(  //values to update
            'sku' => $product->getDescription(),
            'description' => $product->getSku()
        ),
        0 //store id
    );
}