Получить номера для отслеживания заказа с помощью служб доставки от magento 1.9 - PullRequest
0 голосов
/ 21 мая 2019

Как узнать, нет ли заказов и услуг доставки в magento. Мне нужна эта информация в CSV-файле, чтобы я мог импортировать ее в другую систему.

1 Ответ

0 голосов
/ 21 мая 2019

Создайте файл и поместите этот код в файл, загрузите этот файл в корневой каталог magento и вызовите его из браузера, который выдаст CSV.

        <?php
    error_reporting(E_ALL);
    ini_set("memory_limit", "100000M");
    ini_set("max_execution_time", 0);

    require_once('app/Mage.php'); //Path to Magento
    umask(0);
    Mage::app("default");
    Mage::init();

    // Set an Admin Session
    Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
    Mage::getSingleton('core/session', array('name' => 'adminhtml'));
    $userModel = Mage::getModel('admin/user');
    $userModel->setUserId(1);
    $session = Mage::getSingleton('admin/session');
    $session->setUser($userModel);
    $session->setAcl(Mage::getResourceModel('admin/acl')->loadAcl());

    $connection = Mage::getSingleton('core/resource')->getConnection('core_write');

    $fromDate = date('Y-m-d H:i:s', strtotime('2018-02-26'));
    $toDate = date('Y-m-d H:i:s', strtotime('2019-04-16'));

    /* Get orders collection of pending orders, run a query */
    $collection = Mage::getModel('sales/order')
        ->getCollection()
    //      ->addFieldToFilter('state',Array('eq'=>Mage_Sales_Model_Order::STATE_NEW))
        ->addAttributeToSelect('*')
        ->addAttributeToFilter('created_at', array('from' => $fromDate, 'to' => $toDate));
    //    ->setPageSize(2)
    //    ->setCurPage(1);
    //$collection->getSelect()->limit(100);
    $data[0] = array(
        'Action',
        'Order ID',    
        'Tracking Number',
        'Shipping Service',
        'Shipping Method',
        'Date Shipped',
        'SKU',
        'Quantity Shipped',


    );

    foreach ($collection as $order) {
        if ($billingAddress = $order->getBillingAddress()) {
            $billingStreet = $billingAddress->getStreet();
        }
        if ($shippingAddress = $order->getShippingAddress()) {
            $shippingStreet = $shippingAddress->getStreet();
        }
    /* tracking start */
        $trackNoString='';
        $trackNos=array();
        foreach ($order->getTracksCollection() as $_track){
            $trackNos[]=$_track->getTrackNumber(); 
        }
        $trackNoString=implode(",",$trackNos);
    /* tracking ends */
        $orderData = array(
            $order->getStatus(),
            $order->getIncrementId(),        
            $trackNoString,        
            $order->getShippingDescription(),
            $order->getShippingMethod(),
            $order->getTrackingDate()  
        );
        foreach ($order->getAllVisibleItems() as $itemId => $item) {
            $item_name = str_replace('&', " ", $item->getName());
            $itemData = array(            
                $item->getSku(),
                $item->getQtyOrdered(),
            );
            $data[] = array_merge($orderData, $itemData);
        }
    };

    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename="Orders-status-21-5-2019.csv"');

    $fp = fopen('php://output', 'wb');
    foreach ($data as $line) {
        fputcsv($fp, $line, ',');
    }
    fclose($fp);
...