在Magento中以编程方式删除客户

时间:2014-03-10 03:22:09

标签: php magento

如何通过引用或使用Mage::getModel("customer/customer")中的对象来删除magento中的客户?

我已经在谷歌搜索过,运气不好我什么都没找到。

3 个答案:

答案 0 :(得分:2)

我发现了。 customer是一种类似于EAV的产品,可以使用delete()方法删除。 只需使用$customer->setIsDeleteable(true)将对象标记为可删除,因为Mage_Customer_Model_Customer的客户模型类实现Mage_Core_Model_Abstract,其中包含delete()方法

我使用以下代码

$customer->loadByEmail('test@test.com');
$customer->setIsDeleteable(true);
$customer->delete();

如果您希望删除在前端锻炼(在我的情况下是后端),您需要启动Mage::register('isSecureArea', true)

答案 1 :(得分:1)

请找到以下解决方案

$sessCustomer = Mage::getSingleton('customer/session')->getCustomer();
$customer = Mage::getModel('customer/customer');        
$customer->setWebsiteId(Mage::app()->getStore()->getWebsiteId());
// load by customer id
$customer->load($sessCustomer->getId()); 
try {       
        Mage::register('isSecureArea', true);       
        $customer->delete();                            
    }catch (Exception $e){
        $e->getMessage();
}

答案 2 :(得分:0)

<?php

        //current user delete using email
        $customer = Mage::getModel("customer/customer");
        Mage::register('isSecureArea', true);     
        $email = Mage::getSingleton('customer/session')->getCustomer()->getEmail();
        $customer->loadByEmail($email);
        $customer->setIsDeleteable(true);
        $customer->delete();

    ?>