【问题标题】:Magento - direct link to add product to cart with control mechanismMagento - 使用控制机制将产品添加到购物车的直接链接
【发布时间】:2013-05-21 18:20:55
【问题描述】:

如果使用直接链接添加产品做购物车,是否有机会检查产品是否已经在购物车中?例如,我们发送给客户链接,他/她点击一次,然后再次点击 mystake。结果是,购物车中的件数增加了 2 倍。

我们使用一个产品选项,文本字段,对于每个订单/客户来说,它是唯一的(在本例中 - options[8]=AX587AD9),也许有一种方法可以通过 API 来检查它。

我们也可以在 Magento 前端之前使用任何机制检查它,然后重定向到购物车或使用链接将产品添加到购物车...

直接链接示例: http://www.example.com/checkout/cart/add?product=161&qty=1&options[8]=AX587AD9

感谢您的每一个建议, 伊戈尔

【问题讨论】:

    标签: magento


    【解决方案1】:

    您可以使用事件观察器检查产品是否在购物车中。

    您可以使用checkout_cart_product_add_before 事件来检查该产品是否已经在您的购物车中。你的配置文件是这样的

    <config>
    ...
    <frontend>
        ...
        <events>
            <checkout_cart_product_add_after>
                <observers>
                    <unique_event_name>
                        <class>{{modulename}}/observer</class>
                        <method>CheckItem</method>
                    </unique_event_name>
                </observers>
            </checkout_cart_product_add_after>
        </events>
        ...
    </frontend>
    ...
    

    并在您的观察者中检查您的逻辑是否在购物车中

     class <namespace>_<modulename>_Model_Observer
    {
    
            public function CheckItem(Varien_Event_Observer $obs)
            {
                // Get the quote item
                $item = $obs->getQuoteItem();
                //and put your logic here
                // condition matched then redirect back customer with some message
    
            }
    
    
    
        }
    

    【讨论】:

    • 嗨 Muffadal 非常感谢您的帮助。我对 Magento 很陌生,我希望我能做到:D 再次感谢您的帮助。来自斯洛伐克的问候,伊戈尔
    猜你喜欢
    • 1970-01-01
    • 2016-09-28
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    • 2012-09-14
    • 2014-12-17
    相关资源
    最近更新 更多