0

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

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

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

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

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

4

1 回答 1

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

        }



    }
于 2013-05-21T08:40:43.750 回答