我怎样才能将这两个php脚本合并为一个

时间:2016-09-22 18:09:05

标签: php

对于我的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();

我每隔几天运行一次这些脚本。 我如何将这两个脚本合并为一个。哪个应该更有效率....

1 个答案:

答案 0 :(得分:0)

使用run方法传递数组并使用它而不是static :: STORE_ID_ *还static :: STORE_DESTINATION需要传递run方法的另一个参数。另一个注意事项 - 您需要在static :: STORE_ID _ *

的基础上正确更改$ attrs [&#39; description&#39;]变量