Jump to content

"Simplification" de la création de produit en back-office (AdminProductController)


Recommended Posts

Salut,

 

Pour simplifier la création de produit, j'aimerais:

 

1) masquer certains onglets "inutiles" pour mon client (documents joints par exemple):

:) OK, commentés dans AdminProductController (que j'ai surchargé, of course, on n'est pas des sagouins)

 

2) fusionner plusieurs tabs en 1:

:) OK pour l'affichage, en fusionnant les templates des onglets et en fusionnant les fonctions initFormXX() dans AdminProductController pour bien les alimenter (une bonne alimentation c'est important).

 

EDIT :) OK pour la sauvegarde: Pour la pauvre âme devant passer par la, la clé est bien dans processUpdate() et processAdd() ainsi que dans copyFromPost(), une super fonction permettant un échauffement du serveur PHP tout en douceur avant de procéder aux modifs en base.

 

Des fois, un esprit mal tourné pourrait penser que la grandeur du modèle MVC souvent mis en avant est quelque peu occultée par l'énorme surcouche de bidouilles imposées d'office à l'utilisateur lambda de PS, sous prétexte de répondre au besoin spécifique du vendeur ougandais se pliant à des règles de taxes basées sur l’alignement des planètes et les résultats de ligue des champions de la semaine précédente... mais bon.

 

 

3) Remplacer les 2 champs (liste + champ texte) associés à chaque caractéristique du produit par un champ unique doté de l'autocomplete.

:( KO (EDIT: mais ca avance) car je ne sais pas par ou commencer, modifier la classe Feature ou rajouter un autocomplete maison qui appelle une classe PHP maison aussi tapant direct en base ?

=> Pour l'instant j'ai une solution provisoire, mais qui met à mal le modèle MVC puisque le contrôleur tape en base pour faire une association value <=> ID.

Je dois déporter tout ça dans un override de la classe FeatureValue mais la je bosse sur l'autocomplete.

 

 

Au passage:

- La version 1.6.1.2 utilise le plugin jquery autocomplete au lieu de la librairie jQuery UI autocomplete. Ca n'aide pas à la recherche de documentation.

Ca apporte néanmoins un coté vintage qui peut plaire à certains.

- J'aimerais bien rencontrer le gars qui a déboulé un matin avec le concept de feature value "custom" :D

 

 

Si je ne me trompe, coté classe Feature, on créé la feature value si elle n'existe pas de toute façon, donc un simple champ texte avec l'autocomplete prenant comme source les features values deja existantes, c'est à mon sens bien plus pratique et moins "bidouille style" que ces 2 champs actuels.

 

 

 

Pour les 2 points KO, auriez vous des pistes ?

Je ne comprends pas le cheminement effectué pour mettre à jour l'objet produit à partir des valeurs contenues dans les tabs...

Pour info, j'essaye actuellement avec un cas simple: déplacer le poids de l'article (initialement dans l'onglet Livraison) vers l'onglet Informations.

Impossible de conserver sa valeur.

 

Voila, bonne journée à tous.

 

EDIT:

Pour la sauvegarde, c'est de plus en plus flou. J'utilise firePHP pour logguer un peu ce qui se passe, du genre ces 2 lignes au début des fonctions susceptibles de m'interesser:

        $f = FirePHP::getInstance(true);
        $f->fb(__FUNCTION__ . ' called', FirePHP::INFO);   

initProcess est bien appelé pour chaque onglet par exemple, mais processAdd() et processUpdate() ne semblent pas appelés alors que le nom de l'article est bien mis à jour après un clic sur "enregistrer".

 

Je vous laisse, je pars égorger un poulet sur une étoile satanique vaudou histoire d'y voir plus clair.

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

Bonjour,

Ce serait pas encore plus simple pour ton client de créer des produits via une feulle excel et d utiliser l'outils d import de prestashop ?

 

Hello Alexandre-KM et merci pour ta proposition de workaround.

Pour te donner un peu de contexte, je travaille sur la migration vers prestashop d'un site existant.

 

Le client désire une interface unique et les mots d'ordre sont simplicité & rapidité.

Je ne peux malheureusement pas lui proposer de passer par un tableau Excel, surtout en ce qui concerne l'ajout des images aux produits.

De surcroît, chaque produit (disques, en l’occurrence) possède N morceaux au format mp3 associés.

 

Dur d'avoir le preview des images et des titres mp3 dans Excel (simplement) ;)

 

Pour info, j'arrive désormais à enregistrer les infos d'un champ déplacé d'un tab à l'autre.

Pour le passage des 2 champs à 1 pour les caractéristiques, c'est en cours, mais ralenti par cette immonde bidouille qu'est le concept de "valeurs custom" pour les feature values!

 

En tout cas, merci d'avoir pris le temps de répondre et bonne journée à toi

Link to comment
Share on other sites

tu peux avoir dans un fichier excel une colonne image produit donnant l'url de l'image stocké. Utiliser un fichier csv pour mettre a jour ou ajouter des produits dans prestashop est le moyen le plus simple et le plus rapide.

 

Sinon il y a le module store commander qui est pas mal il y a une version gratuite il me semble.

Edited by Alexandre-KM (see edit history)
Link to comment
Share on other sites

Une fois de plus je te remercie pour ta participation et ta proposition.

Cependant, pour moi, l'utilisation d'outils externes, que ce soit Excel, Store Commander ou même notepad (pour les CSV, après tout, pourquoi pas...) sont autant d'aveux de l'incapacité du B.O actuel de Prestashop à proposer quelque chose de simple et efficace.

 

Aujourd'hui, mon client possède un B.O (fait maison, d’où la migration vers PS) qui lui permet de créer un nouvel article en une seule page, upload et preview des images (et des mp3) compris.

Je ne vais pas lui proposer une migration vers un système qui nécessite l'utilisation d'outils externes.

 

Il n'a pas un profil technique, et ne va pas uploader des images quelque part pour coller ensuite l'URL dans une spreadsheet Excel, sans trop savoir comment préciser l'image de couverture, puis en faire de même pour les mp3.

 

PS: pour Store Commander, cela semble être un bon produit, et on a d'ailleurs hésité à le prendre pour la migration des données "pures". Au final, nous sommes passé par prestaPricing qui est très bien et dont l'auteur a su se montrer très disponible.

Link to comment
Share on other sites

Ah ce moment la il faut coder un back office maison en php, qui intervient direct dans la base de donnée mysql... ou meme faire un module de creation de produit, j ai ai fais un pour permettre a un utilisateur de créer un produit via le front office, si tu veux je peux te filer le code

Edited by Alexandre-KM (see edit history)
Link to comment
Share on other sites

Ah ce moment la il faut coder un back office maison en php, qui intervient direct dans la base de donnée mysql... ou meme faire un module de creation de produit, j ai ai fais un pour permettre a un utilisateur de créer un produit via le front office, si tu veux je peux te filer le code

 

Ah ça oui, on est d'accord sur le BO custom obligatoire ! :)

 

Mon cheminement jusqu'à présent:

 

- Le "from scratch, direct en base" m'a fait peur, pas tant coté PHP mais coté structure de la base PS.

Je me dis qu'il y a toujours une table un peu oubliée qui traine dans un coin, et on se retrouve à chercher 3 mois après pourquoi le produit n'apparait pas dans la navigation à facettes ou je ne sais quoi...

 

- Le module admin, j'ai essayé, mais j'ai baissé les bras devant l'ampleur du taff pour gérer les images. Mais qui sait, j'y reviendrais peut être...

 

- Du coup j'ai tenté une version "light" : un override de la création de produit dans laquelle je coupe à la machette les éléments inutiles. Pour l'instant ca fonctionne bien, le seul truc qui me reste à régler c'est le branchement d'un autocomplete sur les champs des caractéristiques.

 

Bref, tout ça étant dit un exemple de code de création de produit via le front, ça me plairait bien !

Comme tu veux, par MP ou par mail, je suis preneur.

 

merci encore.

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

donc en gros tu as un formulaire en front, et ensuite tu valides via le bo et une fois validé ca insere en bdd mais tu peux suprimer cette étape, n'hésite pas si t as des questions.

 

C'est une adaptation de ce tuto: http://www.presta-dev.com/content/23-creation-d-un-formulaire-de-produits-la-structure-des-fichiers-sur-prestashop-14-premiere-partie pour la version 1.6 de prestashop

Edited by Alexandre-KM (see edit history)
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...