Magento - 检查客户的第一笔订单

bon*_*mie 1 magento

是否有一种快速方法以编程方式检查当前登录的客户是否曾下过订单?我正在写一个观察者,我想简单地说

if ($this->isCustomerLoggedIn() && (has never placed an order))
{ 
do this 
}
Run Code Online (Sandbox Code Playgroud)

可能?谢谢!

clo*_*eek 16

$orders = Mage::getResourceModel('sales/order_collection')
    ->addFieldToSelect('*')
    ->addFieldToFilter('customer_id', $customer->getId());

if ($this->isCustomerLoggedIn() && (!$orders->getSize()))
{ 
    // has never placed an order 
}
Run Code Online (Sandbox Code Playgroud)

以上假设您有一个$customer但如果无法从事件中访问,您通常可以通过以下方式获取当前登录的客户:

$customer = Mage::getSingleton('customer/session')->getCustomer();
Run Code Online (Sandbox Code Playgroud)