对于我的magento我有2个脚本将描述复制到其他商店视图。
脚本1。 将商店1和2中的描述复制/合并到storeview 6
myArray.splice(itemIndex, 1);
然后我有一个separte文件,将描述从storeview 2复制到storeview 3。
<?php
require_once 'abstract.php';
class Mage_Shell_DescMerge extends Mage_Shell_Abstract
{
const STORE_ID_1 = 1; // Replace this with correct value
const STORE_ID_2 = 2; // Replace this with correct value
const STORE_DESTINATION = 6; // Replace this with correct value
public function run()
{
$catalogResourceModel = Mage::getResourceModel('catalog/product');
$catalogAction = Mage::getSingleton('catalog/product_action');
$collection = Mage::getModel('catalog/product')->getCollection();
foreach ($collection as $product) {
$productId = $product->getId();
if($product->getId() >= 29932)
{
echo "Updating product $productId\n";
$descrStore1 = $catalogResourceModel
->getAttributeRawValue($productId, 'description', static::STORE_ID_1);
$descrStore2 = $catalogResourceModel
->getAttributeRawValue($productId, 'description', static::STORE_ID_2);
$attrs = array(
'description' => $descrStore1.'<br />'.$descrStore2,
);
$catalogAction
->updateAttributes(array($productId), $attrs, static::STORE_DESTINATION);
}
else {}
}
}
}
$shell = new Mage_Shell_DescMerge();
$shell->run();
我每隔几天运行一次这些脚本。 我如何将这两个脚本合并为一个。哪个应该更有效率....
答案 0 :(得分:0)
使用run方法传递数组并使用它而不是static :: STORE_ID_ *还static :: STORE_DESTINATION需要传递run方法的另一个参数。另一个注意事项 - 您需要在static :: STORE_ID _ *
的基础上正确更改$ attrs [&#39; description&#39;]变量