Linximon Posted March 13, 2017 Share Posted March 13, 2017 (edited) Bonjour ! Ayant décidé de développer une petite fonctionnalité qui générerait un PDF spécifique avec des informations sur un client (ses coordonnées, options, abonnements), j'aimerais modifier légèrement la page qui s'affiche lorsque l'on clique sur un client (la page "Informations sur le client XXX"). Le problème, c'est que je n'arrive pas à trouver dans les fichiers la partie du code qui gère la structure de cette page (vu qu'il s'agit de la même pour tous les clients). Pouvez-vous m'indiquer dans quel fichier et environs vers quelle ligne je peux avoir la main pour ajouter un bouton qui s'occupera de lancer ma nouvelle fonctionnalité ? Je vous remercie d'avance, n'hésitez-pas à me poser plus de questions si j'ai oublié le moindre détail, pour info je suis sur PS 1.6.1.10. Cordialement, L. Edited March 29, 2017 by Linximon (see edit history) Link to comment Share on other sites More sharing options...
GuillaumeCW Posted March 14, 2017 Share Posted March 14, 2017 (edited) Contrôleur controllers > admin > AdminCustomersController.php::renderForm() Vue (template) admin > themes > default > template > controllers > customers > view > view.tpl Le mieux pour identifier où intervenir afin d'ajouter une fonctionnalité, est de comprendre un minimum la structure MVC utilisée par Prestashop. C'est possible d'arriver à développer sans, mais l'investissement permet rapidement de gagner du temps par la suite, et surtout de ne pas rester bloqué. Dans Prestashop, les contrôleurs sont dans le dossier contrôleurs et les vues sont dans le dossier admin ou theme. Edited March 14, 2017 by GuillaumeCW (see edit history) Link to comment Share on other sites More sharing options...
BeComWeb Posted March 14, 2017 Share Posted March 14, 2017 ... un PDF spécifique avec des informations sur un client (ses coordonnées, options, abonnements)... Ses coordonnées OK c'est natif mais qu'est ce que tu entends par "options" et "abonnements" ? Link to comment Share on other sites More sharing options...
Linximon Posted March 14, 2017 Author Share Posted March 14, 2017 Bonjour ! Merci pour cette réponse Guillaume, je comprends un peu les structures MVC, mais je crois que je me suis senti un peu débordé par le nombre de fichiers présents dans Prestashop ^^. Une dernière question, si j'ai bien compris, donc, je dois apporter mes modifications à ces fichiers en passant par l'override, non ? Et pour te répondre BeComWeb, les "options" et "abonnements" sont des valeurs dans ma base de données que j'ai ajouté grâce à un module permettant d'ajouter davantage d'informations (CustomFields, si je me souviens bien). Link to comment Share on other sites More sharing options...
GuillaumeCW Posted March 14, 2017 Share Posted March 14, 2017 si j'ai bien compris, donc, je dois apporter mes modifications à ces fichiers en passant par l'override, non ? Tout à fait, pour les deux fichiers. Link to comment Share on other sites More sharing options...
BeComWeb Posted March 14, 2017 Share Posted March 14, 2017 Et pour te répondre BeComWeb, les "options" et "abonnements" sont des valeurs dans ma base de données que j'ai ajouté grâce à un module permettant d'ajouter davantage d'informations (CustomFields, si je me souviens bien). Ok, je ne connais pas le fonctionnement de ce module mais tu pourras faire l'économie d'un override du modèle Customer... si ton module l'a déjà fait. Pour ça il faudrait que tu vérifies dans override/classes. Par contre si tu veux imprimer ces informations dans un PDF il va falloir faire plus de choses que modifier les 2 fichiers que mentionnent GuillaumeCW. Déjà tu vas devoir créer un template pour le PDF (c'est pas le plus difficile) mais surtout tu vas devoir faire en sorte que ton dev soit en mesure de "parler" au générateur de PDF de Prestashop, de lui passer des variables... Pour schématiser grossièrement : PS inclue Tcpdf (une bibliothèque pdf, un genre de moteur qui permet à PHP de manipuler le format pdf), dont tu retrouveras les fichiers dans tools/tcpdf PS possède une couche qui dialogue avec Tcpdf, constituée de plusieurs fichiers (voir classes/pdf) différents contrôleurs passent par cette couche et par ses templates (voir le répertoire pdf en racine du site) pour construire le document final Donc je ne veux pas te décevoir mais tu t'attaques à un des aspects les plus compliqués techniquement selon moi. Et surtout il va falloir travailler sur plus de 2 fichiers. Link to comment Share on other sites More sharing options...
Linximon Posted March 29, 2017 Author Share Posted March 29, 2017 Bonjour ! Désolé de ne pas être repassé pus tôt, j'étais justement occupé par ma programmation. Pour l'override, je n'ai pas trop réussi à placer le bouton où je voulais initialement, du coup je l'ai rajouté un peu de manière barbare avec un echo, le positionnant en "fixed" pour qu'il se greffe au panneau "Informations sur le client XXXX" qui est tout aussi fixé donc voilà. Je suppose qu'il s'agit des fichiers de template qu'il faut aller toucher, mais au final ce que j'ai fait est plus pratique (toujours avoir le bouton en visuel plutôt que d'aller le chercher en bas de la page). Et pour te répondre BeComWeb, j'ai utilisé un petit utilitaire qui permet de convertir du HTML/CSS en pdf, qui est un peu capricieux sur certains détails, mais qui au final fonctionne bien, je n'ai même pas eu besoin d'aller toucher à Tcpdf, mais merci de l'information, j'irais voir ce dernier si je me retrouve avec des spécifications qui vont au delà de ce que j'ai utilisé (pour info, il s'agit de cet outil là ). Du coup je pense que mon problème est résolu ! Encore merci pour vos réponses et conseils ! Link to comment Share on other sites More sharing options...
BeComWeb Posted March 29, 2017 Share Posted March 29, 2017 Ta solution utilise une ressource externe. Ca permet de gagner du temps en terme de développement mais ça a aussi des défauts : 1. Si leurs serveurs sont en rade tu ne peux plus éditer tes documents 2. Le jour où ils changent de politique commerciale (ou ferme tout simplement), tu te retrouves à devoir choisir entre payer pour quelque chose que tu avais gratuitement (je ne dis pas que le coût est injustifié) ou redévelopper un nouveau système Il suffit de prendre le cas de LiveDocx qui permettait de générer des documents Word avec 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