Magento 2程序化登录

时间:2018-07-28 17:58:14

标签: php magento magento2

我有一个多网站设置,我希望能够在重定向后自动将客户登录到另一个网站(我们在每个网站上共享帐户,以避免共享购物车)。当用户访问辅助网站时,这就是执行的代码。

    $customer = $objectManager->create('Magento\Customer\Model\Customer');
    $customer->setWebsiteId($website_id);
    $customer->loadByEmail($email);
    $newCustomerId = $customer->getId();
    $customerSession = $objectManager->create('Magento\Customer\Model\Session'); 
    $customerSession->loginById($newCustomerId);
    //$customerSession->setCustomerAsLoggedIn($customer);

在大多数情况下,这似乎可以正常工作,但是似乎当我结帐时(购物车中已经有物品),大约有50%的时间我不再登录并且被发送到/ customer / account / login。

到那时,如果我回到原始站点,那么我现在已经注销了。由于它们是不同的帐户/会话,因此我希望原始帐户/会话保持不变。很多时候,如果我没有这个问题,我仍然会失去原始网站上的登录状态。

有什么方法可以做到这一点而又不会丢失原始站点上的登录状态,也不会在结帐时停止丢失我的会话?我允许匿名结帐,所以即使我没有正确登录,我也不确定为什么要重定向我。

0 个答案:

没有答案