1

I have 800 products in my magento store and im trying to change all SKUs, but keep the old ones to another text field. I have found a script that changes all SKUs at once but the problem is that first, i have to insert the text of attribute field SKU, to a new attribute field "old_sku".

How can i update old_sku = sku?

Thanks for any help!

4

2 に答える 2

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;
}
?>

たとえば、update_skus.phpMagento セットアップのルート ディレクトリ (ファイルの近くindex.php) 内にファイルを作成し、提供したコードを入力して、ブラウザーをそのファイルに移動します (例: http://magento.local/update_skus.php)。old_sku属性が属性の値に正確に設定されているすべての製品を取得する必要がありskuます。

于 2012-08-29T16:08:10.160 に答える
0

本当にシンプルに保ちたい場合の解決策は

a) 属性「old_sku」を追加します b) すべての製品をエクスポートします b) CSV を変更します - 「old_sku」の「sku」列の値をコピーして貼り付け、d) すべての製品をインポートします

それでおしまい

お役に立てれば!!!

于 2012-08-29T17:48:01.743 に答える