Добавление сценария php для перемещения заказов в новый статус заказа: Magento 1 - PullRequest
0 голосов
/ 30 апреля 2018

Я пытаюсь написать php-скрипт для пакетных заказов от статуса заказа «завершен» до статуса заказа «Заказ удержания-монограммы». Этот скрипт будет запускаться при переходе по определенному URL.

Magento 1 v. 1.14.2.2

Статус заказа «Заказ с удержанием монограммы» присвоен статусу «Завершено».

Ниже приведен php-скрипт, который я написал, но я очень новичок в написании скриптов, поэтому любая помощь будет оценена.

<?php 
$order = Mage::getModel('sales/order')->load($orderId);
        $status = $order->getStatus();
        $message = 'complete';
        if ($status == 'complete'){
            $order->setState(Mage_Sales_Model_Order::STATE_HOLDED, 'hold_monogram_order', $message)->save();
            echo "complete";
        }
?>

Когда я вхожу по URL-адресу для запуска сценария в настоящий момент, я получаю пустую белую страницу, которая обычно означает, что сценарий запущен (я думаю), это просто может быть неправильно сформулировано, поэтому я также хотел бы вернуть сообщение что говорит "сценарий завершен".

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 01 мая 2018

Если вы запускаете скрипт из корня magento, сделайте такой код.

<?php
$mageFilename = 'app/Mage.php';
if (!file_exists($mageFilename)) {
    echo $mageFilename." was not found";
    exit;
}
require_once $mageFilename;
Mage::app();

try 
{
    $order = Mage::getModel('sales/order')->load($orderId);
    $status = $order->getStatus();
    $message = 'complete';
    if ($status == 'complete') {
       $order->setState(Mage_Sales_Model_Order::STATE_HOLDED, 'hold_monogram_order', $message)->save();
       echo "complete";
    }
} 
catch (Exception $e) 
{
    echo $e->getMessage();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...