Magento如果他已经购买了产品,请检查客户的ID

时间:2011-09-26 04:09:25

标签: php magento magento-1.4

我的产品只能为每位客户购买一次.. 如果我放入管理员,购物车中只有一个项目,Elee可以一次购买一个,所以购买不止一次。 如何检查客户的“ID”是否已经购买,所以如果他们购买了他已购买此产品的消息。 我想你必须做购买按钮

1 个答案:

答案 0 :(得分:2)

你能做的最好的事情就是编写自己的观察者,这个观察者在add_to_cart事件之前/之后被调用。 (阅读更多关于here

的信息

在该观察员文件中,您最好获得该特定客户的所有先前订单:

$orderCollection = Mage::getModel('sales/order')->getCollection();
$customer_orders = $orderCollection->getSelect()->where('e.customer_id =CUSTOMER_ID_GOES_HERE'); 

此客户的Foreach订单,您迭代所有订购商品,如果其中一件与产品匹配:

$order = Mage::getModel('sales/order')->load($order_id);
$items = $order->getAllItems();
foreach ($items as $itemId => $item)
{
    if($item->getProductId() == ordered_product_id_goes_here){
       //Show output message here that customer can only buy this once
    }
    break;
}
祝你好运;)