在magento的自定义模块控制器中使用登录功能

在magento的自定义模块控制器中使用登录功能,magento,magento-1.4,Magento,Magento 1.4,我面临的问题是,我不知道如何在自定义模块控制器中使用登录功能,而不粘贴整个登录代码。我想通过我的控制器点击登录函数,登录函数返回会话/结果 请随便找我 我有1.4.2版本的magento。您尝试了什么?您是否看过标准的magento控制器(Mage\u Customer\u AccountController::LoginPostation)?这不是太多的代码行 $session = Mage::getSingleton('customer/session'); $session->log

我面临的问题是,我不知道如何在自定义模块控制器中使用登录功能,而不粘贴整个登录代码。我想通过我的控制器点击登录函数,登录函数返回会话/结果

请随便找我


我有1.4.2版本的magento。

您尝试了什么?您是否看过标准的magento控制器(
Mage\u Customer\u AccountController::LoginPostation
)?这不是太多的代码行

$session = Mage::getSingleton('customer/session');
$session->login($username, $password);

然后尝试…catch+消息/错误处理

请查看app/code/core/Mage/Customer/controllers/AccountController.php和公共函数loginpostation(),您将清楚地了解magento如何处理异常

$session = Mage::getSingleton('customer/session');
 try {
    $session->login($username, $password);
    if ($session->getCustomer()->getIsJustConfirmed()) {
       $this->_welcomeCustomer($session->getCustomer(), true);
    }
} catch (Mage_Core_Exception $e) {
    switch ($e->getCode()) {
    case Mage_Customer_Model_Customer::EXCEPTION_EMAIL_NOT_CONFIRMED:
        $value = Mage::helper('customer')->getEmailConfirmationUrl($login['username']);
        $message = Mage::helper('customer')->__('This account is not confirmed. <a href="%s">Click here</a> to resend confirmation email.', $value);
        break;
    case Mage_Customer_Model_Customer::EXCEPTION_INVALID_EMAIL_OR_PASSWORD:
        $message = $e->getMessage();
        break;
    default:
        $message = $e->getMessage();
    }
    $session->addError($message);
    $session->setUsername($login['username']);
} catch (Exception $e) {
    // Mage::logException($e); // PA DSS violation: this exception log can disclose customer password
}
$session=Mage::getSingleton('customer/session');
试一试{
$session->login($username,$password);
如果($session->getCustomer()->getisjustconfirm()){
$this->\u welcomeCustomer($session->getCustomer(),true);
}
}捕获(法师核心例外$e){
开关($e->getCode()){
案例经理\客户\型号\客户::例外情况\电子邮件\未确认:
$value=Mage::helper('customer')->getEmailConfirmationUrl($login['username']);
$message=Mage::helper('customer')->\(此帐户未确认。若要重新发送确认电子邮件,',$value);
打破
案例图像\u客户\u型号\u客户::异常\u无效\u电子邮件\u或\u密码:
$message=$e->getMessage();
打破
违约:
$message=$e->getMessage();
}
$session->addError($message);
$session->setUsername($login['username']);
}捕获(例外$e){
//Mage::logException($e);//PA DSS冲突:此异常日志可能会泄露客户密码
}

请告诉我们您为此尝试了什么?我不明白您想问什么?您想做什么:?无论您是要覆盖默认登录名,还是要停止默认登录名并使您的自定义登录名完成任务,我想从自定义模块控制器调用默认登录功能。