2013-03-01 41 views
14

如果保留爲默認設置,Magento 1.7會考慮放棄購物車時必須發生什麼情況?決定位置的代碼在哪裏?Magento何時考慮放棄購物車?那個時間限制在哪裏?

我知道這可能是在報價中的某處設置的,但我無法在我的生活中找到它。

我已經做了一些谷歌搜索,但像很多Magento的問題,我留下了空手。謝謝!

回答

11

正如你可能知道的設置位於:

聯繫=>系統=>配置=>銷售=>結賬=>報價壽命(天)

這將設置添加到數據庫(core_config_data表)與路徑:

結帳/購物車/ delete_quote_after

此路徑中的代碼中使用於:

應用程序/代碼/核心/法師/銷售/型號/ Observer.php線54

所以,當有人將東西一車也將被更新。當顧客登錄並且他的購物車在那裏時,它將被更新。當購物車在過去30天內未更新時。它將被刪除。

的額外信息:

如果你不知道,當使用此代碼,它是由Magento的的的cronjob使用。

檢查: 應用程序/代碼/核心/法師/銷售/等/ config.xml中線1732

<crontab> 
    <jobs> 
     <sales_clean_quotes> 
      <schedule> 
       <cron_expr>0 0 * * *</cron_expr> 
      </schedule> 
      <run> 
       <model>sales/observer::cleanExpiredQuotes</model> 
      </run> 
     </sales_clean_quotes> 

希望這有助於。

+5

經常引用生病的笑話,觀察者只會清除已完成的訂單 - >'$ quotes-> addFieldToFilter('is_active',0);'並且放棄的購物車從未將'is_active'設置爲1到0,擁有無限的後勁,一年之後可以消耗相當可觀的數據庫存儲空間。 – 2013-04-11 00:27:33

+0

很高興知道。謝謝! – Kale 2013-04-11 23:16:53

+0

我讀到「報價生存期(天)」僅適用於(匿名)註冊用戶。但是登錄用戶的購物車*永遠不會過期。你是否遇到過這種行爲差異? – 2015-03-22 12:17:06

0

問題是關於購物車何時放棄,而不是報價過期。由於Magento沒有放棄購物車的功能,它是任意的。添加它的各種擴展可讓您設置它。

+2

Magento確實有一個被遺棄的購物車「功能」,因爲它有它認爲被放棄的購物車,它只是沒有一個與所述購物車做任何事情的機制。 – Kale 2014-05-02 16:42:07

0

在我們的電子商務,我們已經覆蓋的方法cleanExpiredQuotes應用程序/代碼/核心/法師/銷售/型號/ Observer.php

我們的業務規則如下:

$quotes = Mage::getModel('sales/quote')->getCollection();  
$quotes->addFieldToFilter('created_at', array('to'=>date("Y-m-d", time()-$lifetime))); 

$quotes->addFieldToFilter('is_active', 1); 
foreach ($this->getExpireQuotesAdditionalFilterFields() as $field => $condition) { 
    $quotes->addFieldToFilter($field, $condition); 
} 
$quotes->walk('delete'); 
相關問題