Magento - 通过控制机制将产品添加到购物车的直接链接

时间:2013-05-21 08:31:45

标签: magento

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

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

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

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

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

1 个答案:

答案 0 :(得分: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

        }



    }