Magento 1.9 Изменение статуса продукта программно - PullRequest
0 голосов
/ 07 ноября 2019

В настоящее время я ищу метод для программного изменения статуса продукта всех моих продуктов, если достигнут определенный запас.

В идеале я хотел бы установить для всех продуктов статус «Отключено», если уровень запасов ниже 10. Для всех остальных товаров от 10 и более статус продукта должен стать «Включен».

1 Ответ

2 голосов
/ 07 ноября 2019

Вы можете попробовать этот код, создав один файл php в корневой каталог, или вы можете создать планировщик cron, если вы хотите выполнить этот процесс в течение некоторого периода времени.

        error_reporting(E_ALL | E_STRICT);
        $mageFilename = 'app/Mage.php';
        require_once $mageFilename;
        Mage::setIsDeveloperMode(true);
        ini_set('display_errors', 1);
        ini_set('memory_limit', '600M');
        ini_set('max_execution_time', 1800);
        umask(0);
        Mage::app('admin');
        $collection = Mage::getResourceModel('catalog/product_collection');
        $collection->addAttributeToSelect('*');
        foreach ($collection as $_data) {
            $productCat = $_data->getCategoryIds();
            $stock      = Mage::getModel('cataloginventory/stock_item')->loadByProduct($_data);
            $productqty = $stock->getQty();
            if (intval($productqty) < 10) {
                $productModel  = Mage::getModel('catalog/product');
                $productUpdate = $productModel->load($_data->getId());
                $productUpdate->setStatus(2);
                $productUpdate->save();
            }
            else
            {
                $productModel  = Mage::getModel('catalog/product');
                $productUpdate = $productModel->load($_data->getId());
                $productUpdate->setStatus(1);
                $productUpdate->save();
            }
        }
...