renaud2263 Posted April 15, 2016 Share Posted April 15, 2016 Bonjour à Tous, Pour mes livraisons, je fais appel à une plateforme logistique. En fin de journée, le prestataire upload un fichier XML sur mon serveur avec toutes les données des commandes expédiées dans la journée. J'ai crée un script qui parse le XML et récupère les données et qui fonctionne avec un crontab. Mon souci c'est que je voudrais, depuis ce script, modifier les statuts de commande à "Expédié" (je peux le faire directement dans la table) mais surtout envoyer l'email de livraison. J'ai regardé la classe AdminOrdersController et notamment la fonction postProcess mais je ne vois pas ce que je dois faire pour envoyer ce fameux email. Quelle est la classe, ou le controller, qui gère l'envoi des emails système ? Merci de votre aide. Link to comment Share on other sites More sharing options...
renaud2263 Posted April 15, 2016 Author Share Posted April 15, 2016 (edited) Bonjour, merci de ta réponse. Tout se passe dans le back office. En fait, mon script de parsing du XML va déclencher le passage de statut à "Expédié" directement dans la BDD, insérer le N° de tracking UPS, et donc, envoyer l'email "Expédié". J'ai vu le template "shipped", la classe Mail...mais quelle classe fait appel à Mail() pour envoyer le bon ? Comment passer les variables FIRSTNAME, LASTNAME et ORDER_NAME ? Edited April 15, 2016 by renaud2263 (see edit history) Link to comment Share on other sites More sharing options...
renaud2263 Posted April 15, 2016 Author Share Posted April 15, 2016 Ah oui, je vois qu'on peut passer un tableau $param à Mail(). Je vais creuser ça. Merci ! Une autre question: je vais créer une page à la racine qui sera appelée par le crontab et exécutera tout ça. Connais-tu un tuto pour ce genre de création (avec tous les includes qui vont bien) ? Ou faut-il que je crée un module back office ? Link to comment Share on other sites More sharing options...
renaud2263 Posted April 15, 2016 Author Share Posted April 15, 2016 overrider la classe ou le controller AdminOrdersControler ? Ca voudrait dire créer une fonction qui serait appelée par mon script perso ? Je saisis pas bien. Link to comment Share on other sites More sharing options...
Mediacom87 Posted April 15, 2016 Share Posted April 15, 2016 Bonjour, un module serait mieux et plus facile à maintenir entre les versions. Link to comment Share on other sites More sharing options...
renaud2263 Posted April 16, 2016 Author Share Posted April 16, 2016 Bonjour, un module serait mieux et plus facile à maintenir entre les versions. Bonjour, oui il me semble. En revanche, j'ai vu pas mal de tutos pour les modules front office, pas grand chose pour le back. C'est le même fonctionnement de base ? Link to comment Share on other sites More sharing options...
Mediacom87 Posted April 16, 2016 Share Posted April 16, 2016 Faire un module backoffice est beaucoup plus simple. Link to comment Share on other sites More sharing options...
renaud2263 Posted April 16, 2016 Author Share Posted April 16, 2016 Oui je pense aussi: pas d'affichage front ni de hook à gérer. Juste une page de script exécutée par un cron et qui update la BDD et envoie un mail. Je cherche un tuto mais rien de bien probant. Tu as une idée ? Link to comment Share on other sites More sharing options...
Mediacom87 Posted April 16, 2016 Share Posted April 16, 2016 Des tuto pour apprendre à faire quoi ? vous chargez l'exemple proposé par https://validator.prestashop.com/generator Puis vous regardez comment fonctionne les autres modules de Prestashop ainsi que le code donné et ainsi que la documentation officielle. Sinon je peux vous le faire, mais pas gratuitement. Link to comment Share on other sites More sharing options...
renaud2263 Posted April 16, 2016 Author Share Posted April 16, 2016 Merci beaucoup pour tous ces conseils. Au travail ! 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