2014-12-10 3 views
0

Я искал все вокруг и не нашел решения для этого (или даже если это возможно).Magento Auto Log Customer В

Я бегу Magento CE 1.9.1

Наш магазин имеет переговоров цены для конкретной покупки группы, и я использую группы клиентов, чтобы сделать это. Не все клиенты хотят действительно размещать заказы онлайн и просто хотят проверить цены на выпуск заказов на покупку.

Есть ли способ отправить клиентам ссылку, которая будет автоматически регистрировать их, используя общую учетную запись, подписанную этой группой клиентов, или отправить их на статическую страницу CMS, в которой они будут регистрироваться?

+0

Вы должны использовать это расширение: http://shop.partikule.net/en/magento/magento-autologin, или вам нужно создать свой собственный модуль для этого. Еще я могу вам помочь. –

+0

Спасибо, это расширение произвело чудеса. От загрузки до рабочей ссылки менее чем за 5 минут. –

+0

Хорошо. Рад слышать, что это сработало для вас :-). Добро пожаловать, Джон :-) –

ответ

0

Конечно, может быть. Посмотрите на этот пример, что вы можете создать:

class MyCompany_MyModule_MyLogMeInController extends Mage_Core_Controller_Front_Action 
{ 
    public function myLogMeInAction() { 
     $session = Mage::getSinglenton('customer/session'); 
     if ($session->isLoggedIn()) { 
      //oops you are already logged in 
      //option 1: 
      // $this->_redirect('...somewhere...'); 
      // return; 
      //option 2: 
      // $session->logout(); 
      // $session->renewSession(); 
     } 
     $groupId = $this->getRequest()->getParam('my_group'); 
     if ($groupId) { 
      $customerId = $this->_myFunctionToRetrievePresetCustomerIdByGroupId($groupId); 
      $session->loginById($customerId); 
      $session->renewSession(); 
      $this->_redirect('...wherever i want now that the customer is logged in...'); 
     } else { 
      //oops, invalid request 
      $this->_forward('noRoute'); 
     } 
    } 
} 

Один из этих вызовов renewSession может быть ненужным, но лучше перестраховаться, чем потом сожалеть. Кроме того, вы можете не захотеть передать идентификатор непосредственно в браузере, если вы не хотите, чтобы они просто изменили это на 2 вместо 1, чтобы вы могли использовать шифрование/расшифровку Magento для этого. См. Mage_Core_Helper_Data::encrypt и Mage_Core_Helper_Data::decrypt.