Magento - 从SKU复制属性并添加后缀

时间:2016-12-19 14:11:33

标签: magento attributes

我在Magento 1.8.1CE上工作

但现在我需要更换很多价值......

来自属性的一切 必须将SKU复制到Artikelnummer

来自Barcode的所有vakues(非空时)都应该复制到SKU,后缀为-kd

有没有人帮我写这个剧本?

1 个答案:

答案 0 :(得分:1)

这应该可以解决问题。一定要先在测试环境中运行。完成后,检查文件var / log / system.log是否有任何错误。

<?php
require_once 'abstract.php';
class Upgrade extends Mage_Shell_Abstract
{
    public function run()
    {
        echo 'Starting upgrade script...' . PHP_EOL;
        $products = Mage::getModel('catalog/product')->getCollection()
            ->addAttributeToSelect('Artikelnummer')
            ->addAttributeToSelect('Barcode');

        foreach ($products as $product)
        {
            $artikelnummer = $product->getArtikelnummer();
            $barcode = $product->getBarcode();
            if (!$artikelnummer || !$barcode)
            {
                Mage::log('Unable to update product. Skipped. SKU = ' . $product->getSku());
                continue;
            }

            // set Artikelnummer value = SKU
            $product->setArtikelnummer($product->getSku());

            // set SKU = barcode + -kd suffix
            $newBarcode = $barcode . '-kd';
            $product->setSku($newBarcode);

            $product->save();
        }

        echo 'Finished' . PHP_EOL;
    }
}

$shell = new Upgrade;
$shell->run();