2013-03-01 24 views

cevap

11

muhtemelen ayar burada yer alır bildiği gibi:

Yönetici => sistem => Yapılandırma => Satış => Ödeme => Alıntı Ömür (gün)

Bu ayarı katacak yola sahip veritabanı (core_config_data tablo):

çıkış/sepeti/delete_quote_after

Bu yol kodda kullanılan

tarih: Birisi bir sepete bir şeyler ekleyerek zaman

app/kod/çekirdek/Büyücü/Satış/Modeli/Observer.php hattı 54

Yani güncellenecektir. Bir müşteri giriş yaptığında ve arabası var olduğunda güncellenecektir. Bir alışveriş sepeti son 30 gün içinde güncellenmediğinde. Bu kaldırılacak.

Ekstra bilgiler: Bu kod kullanıldığında durumda

merak, o magento cronjob tarafından kullanılır.

kontrol: Uygulama/kod/çekirdek/Büyücü/Satış/etc/Config.xml hat 1732

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

bu yardımcı olur Umut.

+5

, gözlemci yalnızca tamamlanan emirleri temizler sonsuz kalma gücüne sahip ve bir yıl sonra, önemli veritabanı depolama alanı tüketebilir. –

+0

Yararlı bilgi. Teşekkür ederim! – Kale

+0

Ben "Alıntı Lifetime (gün)" sadece (anonim) kokteyl seyrek oturum açma müşteriler için geçerlidir okudum. Ancak giriş yapmış bir kullanıcıdan * bir arabadan * bir araba geçer. Davranışta bu farklılığa rastladınız mı? –

0

soru arabası alıntı sona değilken, terkedilmiş hale geldiğinde ilgiliydi. Magento, sepet işlevini terk etmediğinden, keyfi. Eklemek için çeşitli uzantılar bunu ayarlamanıza izin verir. Bizim e-ticaret olarak

+2

Magento, terkedilmiş olduğu düşünülen arabalara sahip olduğu için terk edilmiş bir arabaya "işlevsellik" sahiptir, sadece söz konusu arabalarla herhangi bir şey yapmak için bir mekanizmaya sahip değildir. – Kale

0

biz uygulama/kod/çekirdek/Büyücü/Satış/model içinde yöntemini cleanExpiredQuotes geçersiz kıldık/Observer.php İşimiz kuralı şöyle

:

$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'); 
`ve terk edilmiş arabaları` 1'den 0'a set is_active` olsun asla terk konuk arabaları;> `$ quotes-> addFieldToFilter ('is_active', 0) - bir oft alıntılanan hasta şaka gibi