Получить идентификаторы заказа со статусом = "Завершить" в Magento
Я работаю над получением идентификаторов заказа и других деталей для заказов со статусом = 'complete' в Magento. Я уверен, что есть способ в magento, где мы можем получить все заказы со статусом "Полный". Поскольку я новичок в пурпуре, мне сложно это преодолеть.
Я хотел бы отправить клиентов с статусом заказа как заполнить электронное письмо и пометить его после отправки электронного письма. Но это более поздняя его часть. Может ли кто-нибудь сказать мне, как в magento вы можете получить весь идентификатор заказа со статусом как завершен?
Любая помощь приветствуется. Заранее спасибо.
Ответы
Ответ 1
Это может быть запущено как script из базовой папки установки 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";
}
Ответ 2
Получить все продукты с статусом заказа как "Завершено"
$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();
}
}
}
?>