sarah0173 Posted March 2, 2013 Share Posted March 2, 2013 (edited) Bonjour à tous ! Voilà j'ai migré l'an passé ma boutique sous Prestashop et tout se passe très bien, sauf que mes clients qui avait créé leurs comptes avant cette migration n'ont pas de "secure key" dans la table ps_costumer de ma base et cela pose souci au niveau de la validation de la commande (commande vide mais bien payée avec un message de warning : the secure key is empty). Bref, comment générer cette fameuse secure key ? J'ai cherché, mais je n'ai pas trouvé... Merci de votre aide ! Edited March 2, 2013 by sarah0173 (see edit history) Link to comment Share on other sites More sharing options...
sarah0173 Posted March 2, 2013 Author Share Posted March 2, 2013 J'ai trouvé, EUREKA ! Si ça peut intéresser : 1 - exporter depuis la BDD "ps_customer" en CSV pour excel 2 - éditer le fichier sous excel et ne garder que les clients qui ont une secure_key manquante puis sauvegarder 3 - ajouter ce bout de code "if (empty($this->secure_key)) $this->secure_key = md5(uniqid(rand(), true));" dans le fichier classes/Customer.php vers la ligne 167 : public function update($nullValues = false) { $this->birthday = (empty($this->years) ? $this->birthday : (int)$this->years.'-'.(int)$this->months.'-'.(int)$this->days); if (empty($this->secure_key)) $this->secure_key = md5(uniqid(rand(), true)); if ($this->newsletter AND !$this->newsletter_date_add) $this->newsletter_date_add = date('Y-m-d H:i:s'); return parent::update(true); } 4 - aller dans le BO de presta - outils - import ; importer votre fichier CSV, charger le fichier, sélectionner "clients" pour l'entité puis suivant, faites correspondre les colonnes et zou lancer l'import Puis vérifier dans la bdd, tous les clients ont enfin une secure_key Vous pouvez supprimer ensuite la ligne de code dans classes/Customer.php 1 Link to comment Share on other sites More sharing options...
LDWEB Posted May 18, 2013 Share Posted May 18, 2013 bonjour sarah merci pour tes infor. Quelle version de PS utilises tu? La ligne où coller le bout de code est t elle la même en 1.5.4? merci Link to comment Share on other sites More sharing options...
sarah0173 Posted July 18, 2013 Author Share Posted July 18, 2013 bonjour sarah merci pour tes infor. Quelle version de PS utilises tu? La ligne où coller le bout de code est t elle la même en 1.5.4? merci Je m'excuse pour la réponse tardive, ma version : 1.4.7 et j'ajoute le bout de code juste après birthday la où il y a cette fonction : public function update($nullValues = false) { $this->birthday = (empty($this->years) ? $this->birthday : (int)$this->years.'-'.(int)$this->months.'-'.(int)$this->days); if ($this->newsletter AND !$this->newsletter_date_add) $this->newsletter_date_add = date('Y-m-d H:i:s'); return parent::update(true); } Link to comment Share on other sites More sharing options...
IED Factory Posted March 23, 2014 Share Posted March 23, 2014 Complément d'information. Testant cette proposition avcec un import 1.4.4.2 vers un 1.5.6.2, la génération de la secure_key se fait de façon automatique si on importe via le BO de PS. Avec ou sans ce code rajouté, le secure_key est bien présente et permet de reconnaître le compte client de l'interface de la boutique. En revanche, via un import direct dans le BdD via phpMySql d'un client A, et après un test d'importation via le BO avec un autre compte client B, cela ne génère pas les secure_key sur A avec ce code rajouté. Je n'ai pas d'explication, mais c'est un constat. Si vous en avez une je suis preneur. Merci aux contributeurs de ce topic a posteriori et a priori 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