Jump to content

[Résolu] Ajouter éléments dans les détails client


Recommended Posts

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 by Linximon (see edit history)
Link to comment
Share on other sites

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 by GuillaumeCW (see edit history)
Link to comment
Share on other sites

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

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 : 

  1. 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
  2. PS possède une couche qui dialogue avec Tcpdf, constituée de plusieurs fichiers (voir classes/pdf)
  3. 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

  • 2 weeks later...

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

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...