Após o Login, como adicionar um array personalizado à sessão atual do cliente.
Como posso adicionar dados personalizados à sessão do cliente magento?
Você precisa criar o observador de eventos customer_login para definir o valor na sessão do cliente após o login
app/code/Vendor/Module/etc/events.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="customer_login">
<observer name="customer_login_observer" instance="Vendor\Module\Observer\CustomerLogin" />
</event>
</config>
2) Após este arquivo, você precisa criar seu arquivo de observador
app/code/Vendor/Module/Observer/CustomerLogin.php
<?php
namespace Vendor\Module\Observer;
use Magento\Framework\Event\ObserverInterface;
class CustomerLogin implements ObserverInterface
{
protected $customerSession;
public function __construct(
\Magento\Customer\Model\Session $customerSession
) {
$this->customerSession = $customerSession;
}
public function execute(\Magento\Framework\Event\Observer $observer)
{
$customer = $observer->getEvent()->getCustomer(); //Get customer object
$myArray = array('value1','value2');
$setValye = $this->customerSession->setMyValue($myArray); //set value in customer session
$getValue = $this->customerSession->getMyValue(); //Get value from customer session
print_r($getValue);
exit;
}
}