如果你可以用系統的cron(CLI版本您的問題)去那麼這裏我使用在一個完整的解決方案我項目(簡化版)。
我將使用公司爲供應商名稱和模塊名稱將是Magmi。
第一步是照常安裝magmi。我想你已經安裝了它。
接下來,創建應用程序的/ etc /模塊/ Company_Magmi.xml與以下內容
<?xml version="1.0"?>
<config>
<modules>
<Company_Magmi>
<active>true</active>
<codePool>local</codePool>
<version>0.0.1</version>
</Company_Magmi>
</modules>
</config>
然後創建應用程序/代碼/本地/公司/ Magmi /等用以下內容/ config.xml中
<?xml version="1.0"?>
<config>
<modules>
<Company_Magmi>
<version>0.0.1</version>
</Company_Magmi>
</modules>
<global>
<models>
<company_magmi>
<class>Company_Magmi</class>
</company_magmi>
</models>
</global>
<crontab>
<jobs>
<magmi_update>
<schedule>
<cron_expr>*/5 * * * *</cron_expr>
</schedule>
<run>
<model>company_magmi/cron::magmiUpdate</model>
</run>
</magmi_update>
</jobs>
</crontab>
</config>
創建應用程序/代碼/本地/公司/ Magmi/Cron.php與以下內容的文件
<?php
require_once(dirname(__FILE__) . "/../../../../../magmi/plugins/inc/magmi_datasource.php");
require_once(dirname(__FILE__) . "/../../../../../magmi/integration/productimport_datapump.php");
class Company_Magmi_Cron {
public function magmiUpdate()
{
$items = array(); // build your own list of items to create/update
$this->import($items);
}
private function import($items, $mode = 'create', $indexes = 'all')
{
if (count($items) > 0) {
$dp = new Magmi_ProductImport_DataPump();
$dp->beginImportSession("PROFILE_NAME", $mode);
foreach ($items as $item) {
$dp->ingest($item);
}
$dp->endImportSession();
$this->reindex($indexes);
}
}
private function reindex($string = 'all')
{
/** @var $indexer Mage_Index_Model_Indexer */
$indexer = Mage::getModel('index/indexer');
$processes = array();
if ($string == 'all') {
$processes = $indexer->getProcessesCollection();
} else {
$codes = explode(',', $string);
foreach ($codes as $code) {
$process = $indexer->getProcessByCode(trim($code));
if ($process) {
$processes[] = $process;
}
}
}
/** @var $process Mage_Index_Model_Process */
foreach ($processes as $process) {
$process->reindexEverything();
}
}
}
的d最後在magmi中將PROFILE_NAME更改爲您的個人資料名稱。
擁有一切,在地方,你將要興建的項目列表創建/更新。這很簡單。這裏有一個例子:
說,你要更新產品的庫存。您可以創建CSV文件是這樣的:
sku,qty
"SOMESKU","10"
"SNOTHERSKU","2"
剛剛建立$項目是這樣的:
$items[] = array(
"sku" => "SOMESKU",
"qty" => "10"
);
$items[] = array(
"sku" => "ANOTHERSKU",
"qty" => "2"
);
而且不要忘記設置的cron爲Magento的!
你明白了吧?
就是這樣。
中有消息'Invalid callback:company_magmi/cron :: magmi_update does not exist'的異常'Mage_Core_Exception'完成相同的只是更改配置文件名稱,模式和文件名,但不工作。你能告訴我,我應該改變哪些是剩下的? – Sarfaraj 2018-01-09 11:05:54