Farfett Posted October 1, 2014 Share Posted October 1, 2014 Bonjour à tous, J'ai besoin de votre aide. Je voudrais créer un lien de connexion entre un script externe et mon site prestashop. Le script externe créé un nouvel utilisateur et ensuite, je voudrais que ce nouvel utilisateur soit connecté automatiquement à son compte client sur le site "principal" prestashop. J'ai essayé de le faire avec curl mais les paramètres ne sont pas lu par prestashop. Au niveau de mon script je fais ceci : $url = "http://www.monsite.fr/index.php?controller=authentication"; $useragent = "Mozilla/5.0"; $timeout = 30; $ch = curl_init(); $data = array('email' => $_POST['usermail'], 'passwd'=>$_POST['userpass'], 'action' =>'SubmitLogin' ); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_exec($ch); header('Location: index.php?controller=history'); Le problème est que dans la fonction postProcess de AuthController aucun des paramètres passés dans mon curl n'existe. Je ne comprends pas pourquoi Pour information, le script est dans un répertoire à côté de prestashop. Merci d'avance de votre aide Link to comment Share on other sites More sharing options...
Farfett Posted October 2, 2014 Author Share Posted October 2, 2014 Bonjour, Personne ne peut m'aider ou me donner des pistes? Merci Link to comment Share on other sites More sharing options...
herve25 Posted October 2, 2014 Share Posted October 2, 2014 Bonjour, Pour un problème un peu près similaire j'avais créé un module ( sur une version prestashop 1.5 ) qui permets de s’identifier comme n'importe quel client uniquement à partir de son identifiant.Il faudrait certainement l'adapter mais si ça peut te donner un début de piste voici le contenu du controller front. <?php /** * Controller Front pour s'identifier comme n'importe quel client * */ class MyModuleLoginModuleFrontController extends ModuleFrontController { /** * Initialisation de la page */ public function init() { parent::init(); //Récupération des paramètres d'identification $id_customer = Tools::getValue('id_customer'); //Nouveau client $customer = new Customer($id_customer); //Si un client est déjà connecté on le déconnecte if ( $this->context->customer->id ) $this->context->customer->logout(); //On s'identifie avec le nouveau client et on initialise les données $this->context->cookie->id_compare = isset($this->context->cookie->id_compare) ? $this->context->cookie->id_compare : CompareProduct::getIdCompareByIdCustomer($customer->id); $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; $customer->logged = 1; $this->context->cookie->is_guest = $customer->isGuest(); $this->context->cookie->passwd = $customer->passwd; $this->context->cookie->email = $customer->email; // Add customer to the context $this->context->customer = $customer; if (Configuration::get('PS_CART_FOLLOWING') && (empty($this->context->cookie->id_cart) || Cart::getNbProducts($this->context->cookie->id_cart) == 0)) $this->context->cookie->id_cart = (int) Cart::lastNoneOrderedCart($this->context->customer->id); // Update cart address $this->context->cart->id = $this->context->cookie->id_cart; $this->context->cart->setDeliveryOption(null); $this->context->cart->id_address_delivery = Address::getFirstCustomerAddressId((int) ($customer->id)); $this->context->cart->id_address_invoice = Address::getFirstCustomerAddressId((int) ($customer->id)); $this->context->cart->secure_key = $customer->secure_key; $this->context->cart->update(); $this->context->cart->autosetProductAddress(); //Redirection vers l'index du site Tools::redirect('index.php'); } } ?> Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now