En fait, pour que la connexion automatique fonctionne il faut enregistrer une nouvelle session customer.
J'ai utilisé le code que vous m'avez envoyé et y ai ajouté la création de la session, c'est beaucoup plus propre que mon code de départ...
Voici le code final qui fonctionne :
$customer = new Customer((int) $id_customer); if (Validate::isLoadedObject($customer)) { $customer->logged = 1; $this->context->customer = $customer; $this->context->cookie->id_customer = (int) $customer->id; $this->context->cookie->customer_lastname = $customer->lastname; $this->context->cookie->customer_firstname = $customer->firstname; $this->context->cookie->logged = 1; $this->context->cookie->check_cgv = 1; $this->context->cookie->is_guest = $customer->isGuest(); $this->context->cookie->passwd = $customer->passwd; $this->context->cookie->email = $customer->email; $this->context->cookie->registerSession(new CustomerSession()); Tools::redirect($link->getModuleLink('moduledevis','devis')); }
Merci pour votre aide
Ce que je ne comprends pas, c'est que tous les modules (gratuits) de connexion automatique des clients via le back-office utilise le code que vous m'avez envoyé sans créer de session et pour eux ça fonctionne...