Reputation: 599
If left to default settings, what circumstances would have to occur for Magento 1.7 to consider a cart abandoned? Where is the code that makes this determination located?
I know that this is probably set somewhere in the quote, but I can't find it for the life of me.
I've done some Googling, but like so many Magento questions I'm left empty handed. Thanks!
Upvotes: 15
Views: 20193
Reputation: 1153
As you probably know the setting is located here:
Admin => system => Configuration => Sales => Checkout => Shopping Cart => Quote Lifetime (days)
This will add the setting to the database (core_config_data table) with path:
checkout/cart/delete_quote_after
This path is used in the code on:
app/code/core/Mage/Sales/Model/Observer.php line 54
So when someone is adding something to a cart it will be updated. When a customer logs in and his cart is there it will be updated. When a cart is not updated for the last 30 days. It will be removed.
Extra information:
In case you wonder when this code is used, It is used by the cronjob of magento.
check: App/code/core/Mage/Sales/etc/config.xml line 1732
<crontab>
<jobs>
<sales_clean_quotes>
<schedule>
<cron_expr>0 0 * * *</cron_expr>
</schedule>
<run>
<model>sales/observer::cleanExpiredQuotes</model>
</run>
</sales_clean_quotes>
Hope this helps.
Upvotes: 16
Reputation: 31
In our e-commerce we've overridden the method cleanExpiredQuotes
inside app/code/core/Mage/Sales/Model/Observer.php
Our business rule looks like this:
$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');
Upvotes: 0
Reputation: 540
The question was about when a cart becomes abandoned, not when the quote expires. As Magento doesn't have abandoned cart functionality, it's arbitrary. The various extensions to add it let you set it.
Upvotes: 0