Malcom24 Posted August 11, 2014 Share Posted August 11, 2014 Bonjour, Je souhaite ajouter un onglet personnalisé dans mes fiches produits en front-end, et j'ai pour cela suivi le tutorial http://nemops.com/prestashop-products-new-tabs-fields/ Mon problème est le suivant : Je n'arrive pas à afficher dans le front-end le contenu des champs enregistré dans la base de données. J'ai encore un peu de mal avec les hook, je me demande si il n'existe pas un petit bout de code php simple que je puisse intégrer où je souhaite dans mon product.tpl pour ajouter le contenu de mon onglet. J'ai passé beaucoup de temps à chercher une solution par moi-même mais l'échéance approche et je sollicite votre aide pour résoudre ce problème. Cordialement. Link to comment Share on other sites More sharing options...
Szed Posted August 11, 2014 Share Posted August 11, 2014 Version de prestashop ? Les hook concerne les modules. Pour afficher/créer, un nouvel onglet de contenu personnalisé, vous pouvez le faire sans passez par un module. Plusieurs tuto pour 1.5 et surement 1.6 peuvent vous montrer comment : Il vous faut dissocier l'ajout du champ personnalisé en BO, de l'ajout de l'onglet en front. Ex pour 1.5 : http://www.paulineghiazza.fr/ajouter-un-champ-dans-le-backoffice-prestashop-1-5/ Link to comment Share on other sites More sharing options...
Malcom24 Posted August 12, 2014 Author Share Posted August 12, 2014 Wow, cela a marché bien plus simplement que je ne le pensais... Quand je m'étais renseigné j'avais surtout trouvé des modules qui venaient ajouter des onglets. Une dernière question, comment puis-je modifier tout cela pour avoir un éditeur de texte Tinymce à la place, qui gère également les différentes langues? Y a-t-il des spécificités ? Merci beaucoup pour votre première réponse. Link to comment Share on other sites More sharing options...
Szed Posted August 12, 2014 Share Posted August 12, 2014 Hum, normalement le code de Pauline vous rajoute un éditeur tinyMce avec multilangue ! Vérifiez que vous avez bien tout copier comme il le fallait Et votre version de PS ? Le code est pour une 1.5.x Link to comment Share on other sites More sharing options...
Malcom24 Posted August 12, 2014 Author Share Posted August 12, 2014 (edited) J'utilise la version 1.6. Je n'ai pas les grands éditeurs où l'on peut mettre en gras, en italique etc. et alterner entre code html et texte. J'ai un simple champ input avec choix de langue qui s'affiche, similaire à celui mots-clés. Edited August 12, 2014 by Malcom24 (see edit history) Link to comment Share on other sites More sharing options...
Szed Posted August 12, 2014 Share Posted August 12, 2014 Il doit y avoir une nuance dans le code pour la 1.6 Il vous faut trouvez un tuto équivalent, pour votre version Link to comment Share on other sites More sharing options...
Malcom24 Posted August 12, 2014 Author Share Posted August 12, 2014 Problème résolu. Pour ceux qui passeraient par là et que ça intéresserait, voici le tutorial remis à jour pour la version 1.6 : http://www.geraudlacheny.fr/ajouter-champ-personnalise-produit-prestashop/ Merci Szed pour ton aide et bonne journée ! Link to comment Share on other sites More sharing options...
Malcom24 Posted August 12, 2014 Author Share Posted August 12, 2014 (edited) Oups, je me permets une autre question, je n'arrive pas à ajouter d'autres champs, la solution se trouve sûrement dans Product.php qui ressemble à ceci : class Product extends ProductCore { public $ingredients; public function __construct($id_product = null, $full = false, $id_lang = null, $id_shop = null, Context $context = null) { Product::$definition['fields']['ingredients'] = array('type' => self::TYPE_HTML, 'lang' => true, 'validate' => 'isString'); parent::__construct($id_product, $full, $id_lang, $id_shop, $context); } } Je souhaite ajouter un autre champ nommé "conseils", comment puis-je faire ? Je l'ai crée dans la base de données, mais à priori le fait de dupliquer la classe ne marche pas. Quand je souhaite enregistrer ce que j'écris dans le champ, rien n'est sauvegardé dans la BD. Edited August 12, 2014 by Malcom24 (see edit history) Link to comment Share on other sites More sharing options...
Szed Posted August 12, 2014 Share Posted August 12, 2014 class Product extends ProductCore { public $ingredients; public $conseils; public function __construct($id_product = null, $full = false, $id_lang = null, $id_shop = null, Context $context = null) { Product::$definition['fields']['ingredients'] = array('type' => self::TYPE_HTML, 'lang' => true, 'validate' => 'isString'); Product::$definition['fields']['conseils'] = array('type' => self::TYPE_HTML, 'lang' => true, 'validate' => 'isString'); parent::__construct($id_product, $full, $id_lang, $id_shop, $context); } } Il vous faut dupliquer les lignes, non pas la classe. Link to comment Share on other sites More sharing options...
Malcom24 Posted August 12, 2014 Author Share Posted August 12, 2014 Génial, je pensais l'avoir déjà essayé mais j'avais dû faire une erreur. Merci beaucoup ! 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