Thursday 12 July 2018

Msgento Export the all Orders into CSV with Limited Headers

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

    $data=Mage::getModel('sales/order')->getCollection();

$fp = fopen('exports_order.csv', 'w+');
//csve headers. You can give your own headers or extra headers
$csvHeader = array('order_id',
    'ship_name',
    'ship_address1',
    'ship_city',
    'ship_state',
    'ship_zip',
    'ship_country',
    'item_id',
    'qty',
    'ship_company',
    'phone_day',
    'email');
fputcsv( $fp, $csvHeader,",");
foreach($data as $row)
{
    //echo "<pre>";Mage::log($row->getData(),null,'orderdata.log');die('here');
    $_order=Mage::getModel('sales/order')->load($row->getId());
    $_shippingAddress = $_order->getShippingAddress();
    //echo "<pre>";Mage::log($_shippingAddress->getData(),null,'shipping.log');die('here');
    foreach ($row->getAllItems() as $item) {
    $product = Mage::getModel('catalog/product')->load($item->getProductId());
 
//echo "<pre>";Mage::log($item->getData(),null,'noworders.log');die();
fputcsv($fp, array($row->getId(),
    $_shippingAddress->getFirstname()." ".$_shippingAddress->getLastname(),
    $_shippingAddress->getStreetFull(),
    $_shippingAddress->getCity(),
    $_shippingAddress->getRegion(),
    $_shippingAddress->getPostcode(),
    $_shippingAddress->getCountry_id(),
    $item->getSku(),
    $item->getQtyOrdered(),
    $_shippingAddress->getCompany(),
    $_shippingAddress->getTelephone(),
    $_shippingAddress->getEmail()
    ) );

    }
 
}
fclose($fp);

Create Shipment for Order Using Script

<?php
$orderid = 1;
$order = Mage::getModel('sales/order')->load($orderid );
$shipmentItems = array();
foreach ($order->getAllItems() as $item) {
$shipmentItems [$item->getId()] = $item->getQtyToShip();
}

// Prepear shipment and save ....
if ($order->getId() && !empty($shipmentItems) && $order->canShip()) {
    $shipment = Mage::getModel('sales/service_order', $order)->prepareShipment($shipmentItems);
    $shipment->save();
}
$shipment_collection = Mage::getResourceModel('sales/order_shipment_collection');
$shipment_collection->addAttributeToFilter('order_id', $data[0]);
foreach($shipment_collection as $sc) {
    $shipment = Mage::getModel('sales/order_shipment');
    $shipment->load($sc->getId());
    if($shipment->getId() != '') {
$track = Mage::getModel('sales/order_shipment_track')
->setShipment($shipment)
->setData('title', $data[5])
->setData('number', $data[6])
->setData('order_id', $shipment->getData('order_id'))
->save();
    }
}
?>

Product Collection with out of stock and In Stock in Magento 2

Product collection with out of stock and In stock. use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory; $collection = $th...