Jump to content

[Résolu] Ajout de champs import produits


Lanaworks

Recommended Posts

Bonjour,

 

Afin de gagner du temps lors de mes imports CSV, je cherche a ajouter dans le fichier AdminImport.php des fonctions qui permettent d'importer des champs pour les tables :

- unit_price_ratio

- unity

- out_of_stock

 

J'importe environ 200 nouvelles références toutes les semaines et c'est ultra long de rééditer chaque produits alors que ces informations sont présentes dans mon CSV.

 

Merci pour vos conseils,

Cordialement,

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

Bonjour,

Vous aménagez votre BDD comme bon vous semble mais PS n'a rien de prêt à l'emploi, l'import des fichiers en .CSV étant déjà plus que très facilité. ;)

Cependant, rien n'étant figé, vous pouvez arranger votre BDD comme bon vous semble et vous pourrez trouver vos réponses ici : http://forum.phpfrance.com/ :rolleyes:

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

PS n'a rien de prêt à l'emploi

 

Dans le fichier AdminImport.php, j'ai essayé de rajouter les lignes suivantes :

 

Après la ligne 184 :

 

'condition' => array('label' => $this->l('Condition')));

(; remplacé par ,)

 

Ajout :

'unit_price_ratio' => array('label' => $this->l('Unit price ratio')),
'unity' => array('label' => $this->l('Unity')),
'out_of_stock' => array('label' => $this->l('Out of stock'));

 

Ce bout de code me donne un affichage de page blanche.

 

Merci pour le lien vers le forum phpfrance mais comme la modification doit être effectuée sur un fichier .php de prestashop je ne pense pas y trouver une réponse

Link to comment
Share on other sites

J'ai ajouté :

 

'unit_price' => array('label' => $this->l('Unit Price')),
'unity' => array('label' => $this->l('Unity')),
'out_of_stock' => array('label' => $this->l('Out of stock')),

 

Après :

 

'id_tax_rules_group' => array('label' => $this->l('Tax rules id')),

 

L'import des nouveaux champs marche comme sur des roulettes... parfait !

 

*nota : j'ai remplacé le champs unit_price_ratio par unit_price

La conversion se fait automatiquement lors de l'import :)

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

Bonjour,

 

J'ai installé AdminImport.php avec Filezilla.

Le problème, c'est la syntaxe des données qu'il faut mettre dans le csv.

Tantôt, l'Id category ne peut pas être sauvegardée, tantôt c'est autre chose...

Quelqu'un peut-il m'envoyer un exemple de fichier (une seule ligne suffit) pour que mes fichiers de codes de réduction soient importés une fois pour toutes.

 

Merci.

Cordialement.

Daniel FERON

www.bijouxpourelle.fr

Link to comment
Share on other sites

  • 2 months later...

Bonjour Weetabix,

 

Je comprends mal ta solution... avec ces quelques lignes tu arrives à faire apparaître les champs dans l'interface d'import?

 

Pour ma part je cherche à importer des champs que j'ai créé, et je suis sur la 1.5. J'ai essayé d'overridé le fichier AdminImportController mais rien n'y fait. Si jamais tu es passé à la 1.5 et que tu as réussi à trouver une solution pour cette version... je serai ravi de te lire!

 

Cordialement,

Fred.

Link to comment
Share on other sites

  • 1 month later...
Pour ma part je cherche à importer des champs que j'ai créé, et je suis sur la 1.5.

 

Salut,

 

Je procède actuellement à la mise à jour d'une boutique en 1.5 et la procédure est identique pour les champs "communs".

 

Pour des champs personnalisés, ce n'est pas possible aussi simplement car tes champs ne sont pas définis dans les "controllers".

 

Tu as l'option de modifier les fichiers controllers ("AdminProductsControllerCore" je pense) pour ajouter les champs que tu souhaites.

Par contre à chaque mise à jour, il faudra recréer ce fichier car de mon coté l'override ne fonctionne pas correctement sur ce fichier... pas super pratique.

 

Cordialement,

Weet.

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

Salut,

 

Pour Prestashop 1.5, les modifications sont a apporter sur le fichier : controllers/admin/AdminImportController.php

 

Pour ajouter les champs "unit_price, unity" à l'import des produits :

 

Après la ligne :

'id_tax_rules_group' => array('label' => $this->l('Tax rules ID')),

 

Ajouter :

'unit_price' => array('label' => $this->l('Unit Price')),
'unity' => array('label' => $this->l('Unity')),

 

Par contre impossible d'importer le champ : "out_of_stock"... :angry:

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

  • 4 months later...

I have found this while solving the same issue (Google Translator helped me a bit :D ).

 

I have managed to update out_of_stock by adding following line

StockAvailable::setProductOutOfStock((int)$product->id, (int)$info['out_of_stock'], $this->context->shop->id);

right after

StockAvailable::setQuantity((int)$product->id, 0, $product->quantity, $this->context->shop->id);

in AdminImportController.php. Should be somewhere around line 1490, but can't tell you exactly because I've added some extra lines to mine.

  • Like 2
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...