2013-04-09 18 views
3

我正在使用数据流配置文件,但这不允许从magento导出entity_id或产品ID。这是我们需要将一些再营销代码集成到我无法使用SKU的地方。无论如何,用数据流配置文件导出entity_id。使用magento中的产品ID导出数据流

其次,我必须每24小时运行一次数据流配置文件。

问候,

法鲁克汗

+0

我已经工作了,在这里回答了这个问题,因为这是在那里Magento的问题属于: http://magento.stackexchange.com/questions/32915/dataflow-export-product-entity-id/32916 #32916 – 2014-08-20 11:11:34

回答

0

您可以从以下网址的帮助下,出口产品ID http://www.vuleticd.com/2013/01/27/export-product-ids-with-magento-dataflow-advanced-profiles/

要运行数据流的个人资料,你必须配置脚本来运行,每24个小时。

使用以下代码,您只需更改profileId & csv文件名。

<?php 
require_once 'app/Mage.php'; 

umask(0); 

Mage::app(); 

$profileId = 7; //put your profile id here 
$filename = "cronimport.csv"; //file needs to be present in var/import directory 

if (!isset($filename)) { 
    die("No file has been set!"); 
} 

$logFileName= $filename.'_'.date('m_d_Y h_i_s_a', time()).'.log'; 

$recordCount = 0; 

Mage::log("Import Started",null,$logFileName); 

$profile = Mage::getModel('dataflow/profile'); 

$userModel = Mage::getModel('admin/user'); 
$userModel->setUserId(1); 
Mage::getSingleton('admin/session')->setUser($userModel); 

if ($profileId) { 
    $profile->load($profileId); 
    if (!$profile->getId()) { 
     Mage::getSingleton('adminhtml/session')->addError('The profile you are trying to save no longer exists'); 
    } 
} 

Mage::register('current_convert_profile', $profile); 

$profile->run(); 

$batchModel = Mage::getSingleton('dataflow/batch'); 
if ($batchModel->getId()) 
{ 
    if ($batchModel->getAdapter()) 
    { 
     //@mail('EMAIL_ADDRESS','Cron started','Test',''); 

     $batchId = $batchModel->getId(); 
     $batchImportModel = $batchModel->getBatchImportModel(); 
     $importIds = $batchImportModel->getIdCollection(); 

     $batchModel = Mage::getModel('dataflow/batch')->load($batchId);  
     $adapter = Mage::getModel($batchModel->getAdapter()); 
     foreach ($importIds as $importId) { 
     $recordCount++; 
     try{ 
      $batchImportModel->load($importId); 
      if (!$batchImportModel->getId()) { 
      $errors[] = Mage::helper('dataflow')->__('Skip undefined row'); 
      continue; 
      } 

      $importData = $batchImportModel->getBatchData(); 

      try { 
      $adapter->saveRow($importData); 

      } catch (Exception $e) { 
      Mage::log($e->getMessage(),null,$logFileName);   
      continue; 
      } 

      if ($recordCount%20 == 0) { 
      //Mage::log($recordCount . ' - Completed!!',null,$logFileName); 
      } 
     } catch(Exception $ex) { 
      Mage::log('Record# ' . $recordCount . ' - SKU = ' . $importData['sku']. ' - Error - ' . $ex->getMessage(),null,$logFileName);   
     } 
     } 
     foreach ($profile->getExceptions() as $e) { 
     Mage::log($e->getMessage(),null,$logFileName);   
     } 
    } 
} 

echo 'Import Completed'; 
Mage::log("Import Completed",null,$logFileName); 
//@mail('YOUR EMAIL','Cron Ended','Test',''); 
?> 
相关问题