Hi!
I want to make a change of store view through code. I have created the next plugin for when the user logs in the system makes a change of store view, but the change is not maintained, I want to switch to store view DE but when I open a product or a category the change is lost. This is my code:
<?php
namespace MyPlugin\CustomerLogin\Plugin;
class LoginPostPlugin
{
/**
* @var \Magento\Store\Model\StoreManagerInterface
*/
protected $_storeManagerInterface;
public function __construct(
\Magento\Store\Model\StoreManagerInterface $storeManagerInterface
) {
$this->_storeManagerInterface = $storeManagerInterface;
}
public function afterExecute(
\Magento\Customer\Controller\Account\LoginPost $subject,
$result)
{
//-- check group is retail customer or not
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$customerSession = $objectManager->create('Magento\Customer\Model\Session');
if ($customerSession->isLoggedIn()){
$groupId = $customerSession->getCustomerGroupId();
if ($groupId == 2){
$this->_storeManagerInterface->setCurrentStore(2);
$result->setPath('?___store=DE&___from_store=EN');
}
}
return $result;
}
}
Can someone help me solve my problem? I need to simulate the change of store view but I need the change to be maintained
Hello @ManuelSissl
$result->setPath('?___store=DE&___from_store=DE');
from_store means what is your current store.
Hi,
Yes but it does not work! The change of store view works, but if I open a category or a product, the store returns to the shop window where it was before (EN). Do you have any suggestions to solve my problem?