magento update attribute1 = attribute2

时间:2012-08-29 15:57:26

标签: magento

我的magento商店有800个产品,我试图更改所有SKU,但将旧的产品保留到另一个文本字段。我找到了一个可以同时更改所有SKU的脚本,但问题是首先,我必须将属性字段SKU的文本插入到新属性字段“old_sku”。

如何更新old_sku = sku?

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

如果您确实拥有一些PHP知识,可以使用它来创建运行一次的PHP脚本并替换所有属性值。例如,我会这样做:

<?php
// Magento initialization code; taken from here: http://www.ecomdev.org/2010/06/01/application-bootstrap-in-magento.html
require 'app/Mage.php';

if (!Mage::isInstalled()) {
    echo "Application is not installed yet, please complete install wizard first.";
    exit;
}

$initializationCode = 'admin';
$initializationType = 'store';
$scope = 'frontend';
Mage::app($initializationCode, $initializationType);
Mage::getConfig()->init();
Mage::getConfig()->loadEventObservers($scope);
Mage::app()->addEventArea($scope);

// Update products
try
{
    $products = Mage::getModel('catalog/product')->getCollection();

    foreach ($products as $product) {
        $product->setOldSku($product->getSku())->save();
    }
} catch (Exception $e)
{
    echo "Something bad happened: {$e->getMessage()}. Shutting down...";
    exit;
}
?>

只需在Magento设置的根目录(update_skus.php文件附近)中创建一个index.php文件,填写我提供的代码,然后将浏览器导航到该文件文件(例如http://magento.local/update_skus.php)。您应该将所有old_sku属性设置为sku属性'值的产品。

答案 1 :(得分:0)

如果你想保持简单,那么解决方案就是

a)添加属性“old_sku” b)出口所有产品 b)更改CSV - 复制&amp;将“sku”列值粘贴到“old_sku”中, d)导入所有产品

就是这样

希望这有帮助!!!