2016-03-05 39 views
0

我目前使用批量導入+出口訂單CSV擴展每個訂單後運行導出功能,請訪問:如何修改代碼,在此擴展通過cron

https://www.magentocommerce.com/magento-connect/bulk-import-export-orders-to-csv.html

的我需要的主要功能是出口訂單功能,它工作正常。因爲這允許我將我的magento訂單導入用於運送產品的訂單處理系統。

我想要實現的是導出功能自動運行,最好是在收到每個訂單後。如果不是至少在一天中的某個時間。

我環顧四周無法找到我需要尋找的信息來修改此以允許cron功能。生成的csv文件非常適合我的處理系統,訂單擴展不會根據需要格式化文件。

我並不是最有經驗的人,但我在學習。請有人可以指點我需要查看的地方,以允許通過cron作業提供導出功能。

所有的建議是讚賞,該網站運行在magento 1.9.2.2。

感謝

+0

我投票關閉這一問題作爲題外話,因爲Stack Overflow是一個[編程相關(http://stackoverflow.com /幫助/話題)問答網站。你的問題不是關於編程。也許你應該在http://magento.stackexchange.com上發佈它呢? – Enigmativity

回答

0

您需要添加置於每個訂單或每天觸發一次/二次/如期一個cronjob後觸發一個觀察者。每個訂單後

觀察報:

編輯:

app/code/community/Raveinfosys/Exporter/etc/config.xml 

地址:

<!-- Add to global tag for frontend/backend orders --> 
<events> 
    <sales_order_place_after> 
     <observers> 
      <!-- Can be named anything so long as it doesn't clash so make it specific --> 
      <namespace_export_orders_after_each_order> 
       <class>Raveninfosys_Exporter_Model_Observer</class> 
       <method>exportOrders</method> 
      </namespace_export_orders_after_each_order> 
     </observers> 
    </sales_order_place_after> 
</events> 

然後創建調用出口訂單功能觀察者:

app/code/community/Raveinfosys/Exporter/Model/Observer.php 

<?php 
    class Raveinfosys_Exporter_Model_Observer 
    { 
     public function exportOrders(Varien_Event_Observer $oObserver) 
     { 
      $oOrder = $oObserver->getEvent()->getOrder(); 
      if($oOrder && $oOrder->getId()) 
      { 
       Mage::getModel('exporter/exportorders')->exportOrders(array($oOrder->getId())); 
      } 
     } 
    } 

Cronj OB是出口如期多個訂單:

編輯:

app/code/community/Raveinfosys/Exporter/etc/config.xml 

<crontab> 
    <jobs> 
     <raveinfosys_exporter_cron> 
      <schedule> 
       <!-- Edit this to controller how often to export --> 
       <cron_expr>*/1 * * * *</cron_expr> 
      </schedule> 
      <run> 
       <model>raveinfosys_exporter/exportorders::checkForRejectedMessages</model> 
      </run> 
     </raveinfosys_exporter_cron> 
    </jobs> 
</crontab> 

而且在添加以下方法:

app/code/community/Raveinfosys/Exporter/Model/Exportorders.php 

public function exportCronOrders() 
{ 
    // Edit this date to correspond with the order timeframe. 
    // There may be overlaps and you may need to add a flag to orders to indicate if they have already been exported. 
    $sYesterday = date('Y-m-d H:i:s', strtotime('yesterday')); 
    $oOrders = Mage::getModel('sales/order')->getCollection()->addFieldToFilter('created_at', array('gt'=> $sYesterday)); 
    $fileName = 'order_export_'.date("Ymd_His").'.csv'; 
    $fp = fopen(Mage::getBaseDir('export').'/'.$fileName, 'w'); 

    $this->writeHeadRow($fp); 
    foreach ($oOrders as $oOrder) 
    { 
     $this->writeOrder($oOrder, $fp); 
    } 

    fclose($fp); 
}  
0

我想指出的是,有代碼一個錯字錯誤用於添加觀察者到config.xml文件:

line: Raveninfosys_Exporter_Model_Observer 應該是: Raveinfosys_Exporter_Model_Observer

即是正確的「Raveinfosys」,而不是「Raveninfosys」