Получить идентификаторы заказов со статусом «Выполнено» в Magento - PullRequest
10 голосов
/ 29 ноября 2011

Я работаю над получением идентификаторов заказов и других деталей для заказов со статусом «завершено» в Magento.Я уверен, что в magento есть способ получить все заказы со статусом Complete.Так как я новичок в magento, мне сложно это решить.

Я хотел бы отправить клиентам со статусом заказа Завершить электронное письмо и отметить их после отправки электронного письма.Но это последняя часть этого.Кто-нибудь может сказать мне, как в magento вы можете получить все идентификаторы заказа со статусом «Завершено»?

Любая помощь приветствуется.Заранее спасибо.

Ответы [ 2 ]

22 голосов
/ 29 ноября 2011

Это можно запустить как скрипт из базовой папки установки Magento. Если он уже запущен внутри файла Magento (контроллер, блок или что-то еще), вам не нужны первые три строки.

<?php
require_once('app/Mage.php');
Mage::app();

$orders = Mage::getModel('sales/order')->getCollection()
    ->addFieldToFilter('status', 'complete')
    ->addAttributeToSelect('customer_email')
    ;
foreach ($orders as $order) {
    $email = $order->getCustomerEmail();
    echo $email . "\n";
}

EDIT:

Для просмотра всех заказов со статусами и электронными письмами:

$orders = Mage::getModel('sales/order')->getCollection()
    //->addFieldToFilter('status', 'complete')
    ->addAttributeToSelect('customer_email')
    ->addAttributeToSelect('status')
    ;
foreach ($orders as $order) {
    $email = $order->getCustomerEmail();
    echo $order->getId() . ": '" . $order->getStatus() . "', " . $email . "\n";
}
1 голос
/ 27 ноября 2015

Получить все продукты со статусом заказа "Завершено"

$orders = Mage::getResourceModel('sales/order_collection')
->addFieldToSelect('*')
->addFieldToFilter('customer_id', Mage::getSingleton('customer/session')->getCustomer()->getId())
->addFieldToFilter('state', array('in' => Mage::getSingleton('sales/order_config')->getVisibleOnFrontStates()))
->addFieldToFilter('status', 'complete')
->setOrder('created_at', 'desc');

$this->setOrders($orders);
foreach ($orders as $order)
{
$order_id=$order->getRealOrderId();
$order = Mage::getModel('sales/order')->load($order_id, 'increment_id');
$order->getAllVisibleItems();
$orderItems = $order->getItemsCollection()
    ->addAttributeToSelect('*')
    ->addAttributeToFilter('product_type', array('eq'=>'simple'))
    ->load();
foreach($orderItems as $Item)
{
    $Item = Mage::getModel('catalog/product')->setStoreId($Item->getStoreId())->load($Item->getProductId());
    if ($Item->getId())
    {
        echo $Item->getName();
        echo $Item->getPrice();
        echo $Item->getProductUrl();
        echo $Item->getImageUrl();
        }
    }
}
?>
...