Développement
[TUTO] générer l’arboresence des catégories prestashop dans un module (categoryTree)
Bonjour tout le monde,
aujourd’hui dans ce tuto je vais vous montrer comment générer l’arborescence des catégories (comme dans les fiches produits) dans un module pour Prestashop 1.5 et 1.6.
Pour ma part j’ai un peu cherché sur le net et j’ai pas rien trouvé, donc je poste ma petite astuce.
Pour Prestashop 1.5:
Pour la version 1.6:
résultat en image:
Tout se passe dans les helper de Prestashop, pour la version 1.6 un helper est prévu à cete effet.
Vu que je suis suis un mec simpa, voici une astuces pour récupérér vos catégories en utilisant jquery:
l’id #category-treeview dépends de vous, vous pouvez lui donner le nom que vous souhaitez.
Dans le code de la version 1.5 il se nomme categoryBox…
En espérant que ce code vous aura aidé.
Enjoy 😉
Commentaires
Le 15 décembre 2014 à 14 02 54 125412, enstein a dit :
Merci pour ton tuto ça ma bcp aider !
Le 15 janvier 2015 à 20 08 15 01151, Youshef a dit :
Merci pour ces précieuses information.
Au fait j'ai un probleme. J'ai la version 1.6.0.9 donc je doit utiliser le deuxieme code sauf que ca me renvois des erreurs :
Fatal error: Uncaught --> Smarty: Unable to load template file 'helpers/tree\tree_toolbar.tpl'
Et des notices du genre Use of undefined constant _PS_ADMIN_DIR ...
Mon module est en front end serais ce ce la la source du probleme ?
Quand j'utilise le premier code le tree est généré mais sans prise en charge des bouton de cochage automatique etc ...
Merci d'avance pour votre aide.
Le 26 janvier 2015 à 15 03 23 01231, Guillaume a dit :
Oui je pense que ça peut venir de la, je te conseillerais de le charger en AJAX.
Il se peut que certaines variables/constantes ne soit pas transmises à SMARTy en Front End.
Le 19 février 2015 à 23 11 04 02042, hicham a dit :
Bonjour,
Avez vous trouver une solution au problème remonté, En fait, j'ai essayer d'appeler le helper depuis le front et j'ai la même problème que toi:
Fatal error: Uncaught –> Smarty: Unable to load template file ‘helpers/tree\tree_toolbar.tpl’
Merci d'avance de ton aide.
Le 20 février 2015 à 10 10 40 02402, Guillaume a dit :
Bonjour,
As tu bien passé le $categoryTree dans smarty en faisant un
[cc lang="php"]$this->smarty->assign('tree',$categoryTree);[/cc]
et dans ton TPL:
[cc lang="php"]{$tree}[/cc]
C'est assez étrange.
Le 20 février 2015 à 11 11 52 02522, Youshef a dit :
Bonjour,
Au fait le probleme c'est au niveau des constantes : _PS_ADMIN_DIR_ et _PS_BO_ALL_THEMES_DIR_ qui semble être indéfinie et qui sont utilisé par le helper.
Je pense que ce helper est fait pour etre utilisé seulement en backend.
Moi j'ai laissé tomber mais si tu veux l'utiliser il va falloir redéfinir les deux variables :
define( '_PS_ADMIN_DIR_', 'C:\wamp\www\ton-site\adminxxx');
define( '_PS_BO_ALL_THEMES_DIR_', '\themes\default\template');
Ensuite il va falloir copier le dossier suivant dans la racine de ton module :
ton-sitel\adminxxxx\themes\default\template\helpers\tree
Et en fin redéfinir le template du helper :
->setTemplateDirectory(_PS_MODULE_DIR_.'/ton-module/helpers/tree');
Le 20 février 2015 à 14 02 02 02022, hicham a dit :
Merci bien pour ton retour, Je vois que t'as fait un grand effort avant d'avoir le même problème que moi.
Je vais essayer:
redéfinir le template du helper :
->setTemplateDirectory(_PS_MODULE_DIR_.’/ton-module/helpers/tree’);
Je pense que ce qui me manque
Le 16 mars 2015 à 15 03 00 03003, Laurence a dit :
Bonjour,
Je pense que vous pouvez m'aider : j'ai supprimé la page home et doit donc la recréer. J'ai beau essayer via phpmyadmin mais je n'y arrive pas
Pouvez-vous m'indiquer comment procéder svp ?
Merci par avance
Le 16 mars 2015 à 15 03 01 03013, Guillaume a dit :
La page home ?
pouvez vous me détailler ce que vous souhaitez faire ?
Cordialement
Le 18 mai 2015 à 19 07 28 05285, Elie a dit :
Bonjour, je suis sur 1.6.0.14 mais pas développeur, pouvez vous donner un peu + d'info sur la modif. Cdlt
Le 19 mai 2015 à 15 03 05 05055, Guillaume a dit :
N'hésitez pas à me contacter par le formulaire de contact ou par mail contact@web-batier.com
Cdlt
Le 18 juillet 2015 à 12 12 56 07567, JeanRem a dit :
Bonjour,
j'ai suivi le tutoriel de prestashop pour l'utilisation du helper form afin de pouvoir sélectionner des catégories (HelperTreeCategories) et les sauvegarder dans la table "configuration" sous forme de tableau sérialisé.
J'arrive bien à afficher les catégories sélectionnées suivant la valeur de la table configuration (définie à l'installation du module), mais si je modifie la sélection et que je soumets le formulaire, la sélection n'est pas sauvegardée dans la table. Je préférerais récupérer les données en php plutôt qu'en jquery.
Une solution peut-être ?
Le 22 juillet 2015 à 9 09 13 07137, Guillaume a dit :
Bonjour,
Personellement, je regarderai pour faire un script jquery afin de stocker les ids des catégories séléctionnées dans un input hidden pour de les exploiter avec PHP.
Sinon regarder ce que contient $_POST lors du submit peut être ??
Cordialement
Le 9 septembre 2015 à 9 09 50 09509, haloperator a dit :
Bonjour qu'elle est l'adresse de ce tutoriel prestashop ou les données son sauvées dans la table configuration?
Le 9 septembre 2015 à 9 09 52 09529, Guillaume a dit :
Désolé je ne vois de quoi vous voulez parler. Pourvez vous être plus précis ?
Le 1 janvier 2016 à 14 02 51 01511, Ali a dit :
Bonjour
Je viens d'avoir un blocage sur mon site et suis à la recherche d'une solution
1- tous mes produits ne sont plus dans les catégories correspondantes, alors j'ai essayé de changer : mettre accueil dans catégorie parente de chaussures et ça m'a crée un autre problème ( le suivant)
2- quand je vais dans le backoffice , catégories , root, après plus rien , comment peux je récupérer mes sous catégories?
Merci d'avance pour votre aide et je vous souhaite une excellente année
Laisser un commentaire