Php 为客户设置登录的欢迎信息
我创建了一个自定义Ajax登录表单,以便客户可以使用该表单登录。 我正在向控制器发送ajax帖子,控制器将用户设置为已登录 这是控制器代码Php 为客户设置登录的欢迎信息,php,jquery,magento,Php,Jquery,Magento,我创建了一个自定义Ajax登录表单,以便客户可以使用该表单登录。 我正在向控制器发送ajax帖子,控制器将用户设置为已登录 这是控制器代码 <?php class Test_Check_IndexController extends Mage_Core_Controller_Front_Action { public function validatecustomerAction(){ $session = Mage::getSingleton('custome
<?php
class Test_Check_IndexController extends Mage_Core_Controller_Front_Action
{
public function validatecustomerAction(){
$session = Mage::getSingleton('customer/session', array('name' => 'frontend'));
if ($session->isLoggedIn()) {
return;
}
$result = array('success' => false);
if ($this->getRequest()->isPost())
{
$login_name = $this->getRequest()->getPost('username');
$login_pass = $this->getRequest()->getPost('password');
if (empty($login_name) || empty($login_pass)) {
$result['error'] = $session->addError($this->__('Login and password are required.'));
}
else
{
try
{
$session->login($login_name, $login_pass);
$result['success'] = true;
$session->setCustomerAsLoggedIn($session->getCustomer());
$result['redirect'] = Mage::getUrl('*/*/index');
}
catch(Exception $e){
$result['success'] = false;
return 0;
}
}
}
$this->_redirect('');
}
}
karan,我已经修改了你的密码
<?php
class Test_Check_IndexController extends Mage_Core_Controller_Front_Action
{
public function validatecustomerAction(){
$result=array();
$session = Mage::getSingleton('customer/session', array('name' => 'frontend'));
if($session->isLoggedIn()){
$result['isloggedin']=true;
}
$session=$session;
if($this->getRequest()->isPost()){
$login_name = $this->getRequest()->getPost('username');
$login_pass = $this->getRequest()->getPost('password');
if(!empty($login_name) && !empty($login_pass)){
try{
$session->login($login_name, $login_pass);
$result['success']=true;
$result['message']= Mage::helper('customer')->__('Login successfull');
if ($session->getCustomer()->getIsJustConfirmed()) {
$myMess=$this->_ajaxwelcomeCustomer($session->getCustomer(), true);
$result['success']=false;
$result['message']=$myMess;
}
}catch(Mage_Core_Exception $e){
switch ($e->getCode()) {
case Mage_Customer_Model_Customer::EXCEPTION_EMAIL_NOT_CONFIRMED:
$value = Mage::helper('customer')->getEmailConfirmationUrl($login_name);
$message = Mage::helper('customer')->__('This account is not confirmed. <a href="%s">Click here</a> to resend confirmation email.', $value);
$result['success']=false;
$result['message']=$message;
break;
case Mage_Customer_Model_Customer::EXCEPTION_INVALID_EMAIL_OR_PASSWORD:
$message = $e->getMessage();
$result['success']=false;
$result['message']=$message;
break;
default:
$message = $e->getMessage();
$result['success']=false;
$result['message']=$message;
}
}catch(Exception $e){
$result['success']=false;
$result['message']=
Mage::logException($e);
}
}else{
$result['success']=false;
$result['message']=$this->__('Login and password are required.');
}
}
$this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
}
protected function _ajaxwelcomeCustomer(Mage_Customer_Model_Customer $customer, $isJustConfirmed = false)
{ $MessageOwn= '';
$MessageOwn= $this->__('Thank you for registering with %s.', Mage::app()->getStore()->getFrontendName());
$customer->sendNewAccountEmail(
$isJustConfirmed ? 'confirmed' : 'registered',
'',
Mage::app()->getStore()->getId()
);
return $MessageOwn;
}
}
}))
jQuery.ajax( {
url : youruel,
dataType : 'json',
type : 'post',
data : 'data',
success : function(response) {
/*response.success will give flag logged or not
and response.message give notification that means welcome flag */
}