एक mutistore-multwebsite मैगेंटो में, मैं उपयोगकर्ताओं को उसी वेबसाइट पर लॉग इन करने के लिए मजबूर करना चाहूंगा, जो उन्होंने पंजीकृत की है। वे किसी भी वेबसाइट में, किसी भी लॉगिन फ़ॉर्म का उपयोग कर सकते हैं, लेकिन फॉर्म को उनकी क्रेडेंशियल्स की जांच करनी चाहिए और उन्हें सही वेबसाइट पर पुनर्निर्देशित करना चाहिए।
मैंने ग्राहक की वेबसाइट की जांच करने की कोशिश की, और उसे लॉगिन करने के लिए मजबूर किया। हालांकि यह काफी अच्छा काम नहीं कर रहा है। उपयोगकर्ता वर्तमान वेबसाइट पर लॉग इन हो जाता है, न कि वह जिसे उसने पंजीकृत किया है।
एप्लिकेशन / कोड / स्थानीय / दाना / ग्राहक / सत्र में
public function login($username, $password)
{
/**************************************************/
$customer = Mage::getModel("customer/customer");
$customer_website = null;
foreach (Mage::app()->getWebsites() as $website) {
$customer->setWebsiteId($website->getId());
$customer->loadByEmail($username);
//check if user exists
if($customer->getName()){
$customer_website = $website->getId();
}
}
/*************************************************/
$customer = Mage::getModel('customer/customer')->setWebsiteId($customer_website);
if ($customer->authenticate($username, $password)) {
$this->setCustomerAsLoggedIn($customer);
return true;
}
return false;
}
कोई विचार?