Заказ: Для добавления комментариев программно для заказа в панели администратора в magento 2


В разделе Продажи панели администратора->Заказы при просмотре заказа отображается информация о заказе, как показано ниже, Как добавить комментарий программно.... И для этого необходимо сохранить (sale_order_status_history) таблицу, предлагающую решение.. enter image description here

Author: Jaisa, 2017-11-24

3 answers

$orderId = $orderId;
    $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
    $order = $objectManager->create('\Magento\Sales\Model\Order')->load($orderId);
    $order->addStatusHistoryComment('This comment is programatically added to last order in this Magento setup');
    $order->save();

Вы также можете использовать объект репо magento.

 9
Author: Sunil Patel, 2017-11-24 11:04:08

Вы также можете попробовать этот код.Пожалуйста, создайте образец файла в корневом каталоге и вставьте код ниже. и запустите этот файл.

use \Magento\Framework\App\Bootstrap;

include('./app/bootstrap.php');
$mage_bootstrap = Bootstrap::create(BP, $_SERVER);
$object_Manager = $mage_bootstrap->getObjectManager();
$site_url = \Magento\Framework\App\ObjectManager::getInstance();
$storeManager = $site_url->get('\Magento\Store\Model\StoreManagerInterface');
$mediaurl= $storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
$state = $object_Manager->get('\Magento\Framework\App\State');
$state->setAreaCode('frontend');

$orderId = 15;

$order = $object_Manager->create('\Magento\Sales\Model\Order')->load($orderId); 
$order->addStatusToHistory('pending', 'Put your comment here', false);
$order->save();

Как только вы запустите этот файл, вы сможете увидеть обновленный статус от администратора. Спасибо!!!

 1
Author: Sunny Rahevar, 2017-11-24 11:16:53

addStatusHistoryComment является устаревшим, вместо этого используйте addCommentToStatusHistory.

Вот пример кода:

protected $orderRepository;

public function __construct(
    ...
    \Magento\Sales\Model\OrderRepository $orderRepository
    ...
) {
    $this->orderRepository = $orderRepository;
}

public function saveOrder($orderId)
{
    $order = $this->orderRepository->get($orderId);
    $order->addCommentToStatusHistory('Test Order Comment');
    $this->orderRepository->save($order);
}

Проверьте более подробную информацию: \Magento\Sales\Model\Order::addCommentToStatusHistory

 0
Author: Prince Patel, 2021-01-29 06:40:03