Jump to content

Gestion de coefficient - ajout d'un champ back office


Recommended Posts

Bonjour,

 

Je voudrais calculer automatiquement mes prix de vente en fonction d'un coefficient.

J'ai besoin de cette fonction car un de mes fournisseur met à jours ses tarifs assez régulièrement. Je vais donc créer une tache CRON pour récupérer les nouveaux prix d'achat et ensuite calculer le prix de vente en fonction d'un coefficient enregistré en base de données. Jusque là, tout va bien.

 

Par contre j'aimerai ajouter à la page de gestion des produits du backoffice un champ permettant de mettre à jour le coefficient d'un produit.

 

Une idée sur comment ajouter ce champ sachant qu'à ma connaissance il n'y a pas de Hook sur la page d'admin d'un produit?

Link to comment
Share on other sites

Pas mal ton idée, c'est simple, bon en gros si je comprends en fonction du prix tu auras un coef multiplicateur qui fera varier le prix ?? Peut être simplement un script php qui viens éditer ta table product tout simplement.

 

 

Enfin c'est moin compliqué que d'aller bidouiller le coeur de presta

Link to comment
Share on other sites

Oui pour mettre à jour les prix en fonction des coef ça pose pas de soucis. chaque nuit, je vais récupérer les prix d'achat chez mon fournisseur et je mets mes prix à jour.

 

Par contre je voudrais pouvoir éditer la valeur du coefficient pour chaque produit... donc pour ça il faut que j'ajoute un champ à l'admin des produits et que j'ajoute les traitements en fonction sur la class Product...

Link to comment
Share on other sites

Bon pour simplifier la chose et permettre d'avoir cette fonctionnalité sous forme de module, j'ai décidé de gérer les coefficients produit sur une page dédiée de l'administration. Pour voir / modifier un coef, on entre l'ID du produit.

 

Si ça intéresse des gens je pourrais éventuellement distribuer ce module ne fois testé et approuvé.

Link to comment
Share on other sites

Ajouter un champs n'est pas très compliqué. Il faut intervenir en gros sur 2 fichiers:

La classe classes/Product.php et le fichier en BO: tabs/adminproduct.php

 

Tu commences par créer un nouveau champs dans la table ps_product_lang appelé mavariable par exemple.

 

Ensuite dans le fichier de la classe:

1. Tu définis ta variable:

public $mavariable

2. Dans la variable

$fieldsValidate

tu définis ta nouvelle variable par exemple

'mavariable' =>'isUnsignedFloat'

3. Dans la fonction

getFields()

tu rajoutes

$fields['mavariable'] = (float)($this->mavariable);

 

Il ne reste plus qu'à créer le champs dans le BO. où tu veux voir apparaître ton champs input tu rajoutes:

<input  name="mavariable" type="text" value="'.htmlentities($this->getFieldValue($obj, 'mavariable') />

Edited by franckm1000 (see edit history)
Link to comment
Share on other sites

Merci pour le tuyau. J'hésite encore entre les 2 solutions. La tienne est plus logique pour l'utilisateur mais nécessite la modification de fichiers core de Prestashop, l'autre solution est plus "propre" et permet de proposer cette fonctionnalité en module, mais elle reste moins logique pour l'utilisateur qui doit gérer des infos de prix à 2 endroits différents du BackOffice...

Link to comment
Share on other sites

  • 1 month later...

Salut Orwell,

 

Ton sujet m'interesse ! Je cherche aussi à ajouter un champs "coef" dans la fiche produit dans le BO. :)

Je suivrais ce que te propose franckm1000 et contrairement à ce que tu dis, tu dois pouvoir tout faire sans toucher aux fichiers core de prestashop mais plutot en utilisant l'override, je l'ai déjà fait avec la classe "product.php" (grace à l'aide de personne de ce forum! :) ) et d'apres le lien suivant : http://www.nethercottconstructions.com/en/content/55-overriding-back-office-tabs c'est aussi possible de faire de l'override sur le fichier "adminproduct.php".

 

TIens nous au courant

Link to comment
Share on other sites

  • 4 months later...

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...