cybeardjm Posted August 5, 2011 Share Posted August 5, 2011 Bonsoir à tous, Ce que je cherche à faire : ajouter 2 champs HTML sur la page produit en BO (que j'intègrerai ensuite en FO, mais je n'en suis pas encore là) Mes références et sources d'inspiration : comment-ajouter-un-nouveau-champ-sur-la-fiche-produit-et-dans-le-back-office-prestashop et resolu-ajout-champ-text-fiche-produit-back-office-et-front-office Version : PS 1.4.4 - nouvelle installation Pas à pas : * j'ai créé 2 champs (incl & notincl) dans la DB (table ps_product_lang), paramétrés exactement comme "description" * j'ai modifié admin/tabs/AdminProducts.php en y ajoutant les 2 zones de texte correspondantes (en dupliquant/modifiant le bloc de "description") => les champs apparaissent bien dans la fiche produit. Ensuite, pour lire/écrire les champs entre la DB et la fiche produit, j'ai modifié directement classes/product.php (je sais, ce n'est pas bien ;-) ), principalement : * déclaration de mes 2 champs en variables public * modification des fonctions getTranslationsFieldsChild(), getNewProducts(), getRandomSpecial(), getPricesDrop(), getAccessories(). => J'arrive à ajouter/modifier/supprimer le contenu de mes 2 nouveaux champs, mais je n'arrive plus, par exemple, à modifier les caractéristiques d'un produit : lorsque je sauve, je suis redirigé, sans erreur affichée, sur la page principale du catalogue... J'ai donc décidé de passer par un override, en ne mettant dans override/classes/Product.php que les fonctions modifiées, après avoir déclaré en en-tête class Product extends ProductCore. => Les données présentes dans mes 2 nouveaux champs qui pré-existent dans la DB s'affichent bien, mais je ne peux pas modifier le contenu ou en ajouter : à l'enregistrement, et toujours sans message d'erreur - j'ai même droit à "Mise à jour réussie", les nouvelles data saisies sont éliminées. Par contre, les autres fonctions comme la modification d'une caractéristique fonctionnent toujours... =>>> donc, là je sèche. * soit je modifie le product.php original, mes fonctions modifiées opèrent, mais pas les anciennes. * soit je passe par un override, les anciennes sont OK, mais pas mes modifs... C'est comme s'il manquait "qqchose" pour "finir" ou "déboucler" l'override... ;-) J'ai loupé un truc, mais quoi ? Un pro aurait-il une idée ? Je suis là-dessus depuis 2 jours et je sèche lamentablement... Sincerely DJM Link to comment Share on other sites More sharing options...
cybeardjm Posted August 5, 2011 Author Share Posted August 5, 2011 Hello again, Comme quoi, le fait de poser le problème convenablement pour que d'autres le lisent, aide à dégripper les neurones... Il me manquait la déclaration en début => protected $fieldsValidateLang = array() Dans tous les cas, cette fiche peut servir à tous ceux qui souhaitent ajouter des champs HTML complémentaires en 1.4.4. Bon, je m'attaque au FO, j'ai 2 onglets à faire apparaitre sur la fiche produit... Désolé pour le dérangement... ;-) Sincerely DJM 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