Magento 何时考虑放弃购物车?那个时限是在哪里设置的?

Posted

技术标签:

【中文标题】Magento 何时考虑放弃购物车?那个时限是在哪里设置的?【英文标题】:When does Magento consider a cart to be abandoned? Where's that time limit set? 【发布时间】:2013-02-15 09:30:10 【问题描述】:

如果保留默认设置,Magento 1.7 在什么情况下才会考虑放弃购物车?做出此决定的代码在哪里?

我知道这可能是在引用中的某个地方设置的,但我一辈子都找不到它。

我已经进行了一些谷歌搜索,但就像许多 Magento 问题一样,我两手空空。谢谢!

【问题讨论】:

【参考方案1】:

您可能知道设置位于此处:

管理员 => 系统 => 配置 => 销售 => 结帐 => 报价有效期(天)

这会将设置添加到数据库(core_config_data 表),路径为:

结帐/购物车/delete_quote_after

这个路径用在代码上:

app/code/core/Mage/Sales/Model/Observer.php 第 54 行

因此,当有人将某些东西添加到购物车时,它将被更新。当客户登录并且他的购物车在那里时,它将被更新。购物车在过去 30 天内未更新时。它将被删除。

额外信息:

如果您想知道何时使用此代码,它由 magento 的 cronjob 使用。

检查: App/code/core/Mage/Sales/etc/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>

希望这会有所帮助。

【讨论】:

作为一个经常被引用的病态笑话,观察者只清除已完成的订单 -> $quotes-&gt;addFieldToFilter('is_active', 0); 并且由于废弃的推车永远不会将 is_active 从 1 设置为 0,废弃的客人推车具有无限的持久力和一年后,会消耗相当大的数据库存储空间。 我读到“报价有效期(天)”仅适用于(匿名)nog-logged-in 客户。但是来自登录用户的购物车永不 过期。您是否遇到过这种行为差异? @khoekman "Check code here" 必须更新链接,它们不再存在。 @divy3993 感谢您的指出。我已经删除了旧源代码的链接。【参考方案2】:

问题是关于购物车何时被放弃,而不是报价何时到期。由于 Magento 没有放弃购物车功能,因此它是任意的。添加它的各种扩展让您可以设置它。

【讨论】:

Magento 确实有一个废弃的购物车“功能”,因为它有它认为废弃的购物车,它只是没有一种机制可以对所述购物车做任何事情。【参考方案3】:

在我们的电子商务中,我们覆盖了 app/code/core/Mage/Sales/Model/Observer.php 中的方法 cleanExpiredQuotes

我们的业务规则如下所示:

$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');

【讨论】:

以上是关于Magento 何时考虑放弃购物车?那个时限是在哪里设置的?的主要内容,如果未能解决你的问题,请参考以下文章

扩展 Magento 购物车

您如何知道 PayPal 购物车何时被遗弃?

Magento 1.8 - 购物车寿命

贤者支付贝宝示例

是否可以从另一个网站将产品添加到 Magento 购物车,而产品不在 magento 商店中

网络购物秒杀出现超卖现象,是在哪方面没有控制好