2011-01-25 10 views
2

フロントエンドからマジェンタで顧客を削除することはできますか?私はユーザーに "私のアカウントを削除する"アクセス権を与えたい。magentoマイアカウントを削除

コントローラ内にアクションを配置しました。

public function deleteAccountAction() 
{ 
    $log_customer = Mage::getSingleton('customer/session')->getCustomer();  
    $log_customer->delete(); 
    $this->_getSession()->logout() 
     ->setBeforeAuthUrl(Mage::getUrl()); 
    $this->_redirect('*/*/'); 
} 

しかし、これは

のような例外をスロー:5:{I:0; S:51: "非管理者 エリアからこの 操作を完了できません。"; I:1; s:1348: "#0 /home/makegood/public_html/stage/app/code/core/Mage/Core/Model/Abstract.php(505): Mage :: throwException( ' 完了できません...' )

この問題を解決する方法。

答えて

5

代わりのログインからユーザーを停止するsetIsActive(false)をあなたに可能性が削除。
アカウントが管理者に表示されるでしょうが、無効にすること。

+0

から顧客を削除する前にMage::register('isSecureArea', true);を設定する必要があります。あなたは、その顧客が注文した注文を表示することでいくつかの問題に遭遇する可能性があります。 – Nick

+0

それ以上に、顧客データを破壊するのは一般的には辛い考えです。 isActiveの3番目。 –

+0

パーフェクト、正確に。ありがとうございました。 – Elamurugan

6

あなたは、私がアクティブでないに設定して同意するフロントエンド

関連する問題