我在Magento 1.8.1CE上工作
但现在我需要更换很多价值......
来自属性的一切
必须将SKU
复制到Artikelnummer
来自Barcode
的所有vakues(非空时)都应该复制到SKU
,后缀为-kd
有没有人帮我写这个剧本?
答案 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();