Jump to content

[Résolu] MODULE - Affichage d'un onglet créé dans le backOffice


Recommended Posts

Informations sur votre serveur

Version de Prestashop: 1.4.3
Informations sur votre serveur: Linux #1 SMP Fri Apr 15 17:44:15 UTC 2011 x86_64
Version du logiciel serveur: nginx/1.0.2
Version de PHP: 5.3.6-6~dotdeb.1
Version de MySQL: 5.1.57-1~dotdeb.1



Bonjour à tous,

Je tente de créer un module "AdminAssoc", extension de "Module" qui ajoute un onglet à la racine du backOffice ($tab->id_parent = 0;), au même niveau que les onglets "Catalogue, clients, ... Outils". J'y arrive sans problème mais il se trouve que la classe classes/AdminTab.php est appelée lorsque je clique sur mon Onglet "MonAssoc" et j'ai été obligé d'ajouter les fonctions checkToken(), postProcess() et displayErrors() sinon j'avais un message d'erreur car ces fonctions manquaient dans mon module.

Je n'arrive pas à afficher un message lorsque je clique mon Onglet "MonAssoc". Dois-je rattacher mon module à hook ? Si oui, lequel dans ce cas ? J'ai essayer le hook "backOfficeHome" mais ma fonction "hookBackOfficeHome" n'est pas appelée pour autant. Je suis perdu. Est-ce que quelqu'un aurait une idée ?

Merci pour votre aide.

Link to comment
Share on other sites

Si cela peut apporter des idées, lorsque je place display_errors à on, j'ai le message suivant lorsque je clique sur mon onglet :

Warning: Missing argument 1 for ModuleCore::display(), called in /home/monsite/dev/home/adminXXX/index.php on line 109 and defined in /home/monsite/dev/home/classes/Module.php on line 1001
Warning: Missing argument 2 for ModuleCore::display(), called in /home/monsite/dev/home/adminXXX/index.php on line 109 and defined in /home/monsite/dev/home/classes/Module.php on line 1001
Notice: Undefined variable: file in /home/monsite/dev/home/classes/Module.php on line 1010
Notice: Undefined variable: file in /home/monsite/dev/home/classes/Module.php on line 1011
Notice: Undefined variable: template in /home/monsite/dev/home/classes/Module.php on line 1011
Notice: Undefined variable: file in /home/monsite/home/classes/Module.php on line 1015
Notice: Undefined variable: file in /home/monsite/dev/home/classes/Module.php on line 1016
Notice: Undefined variable: template in /home/monsite/dev/home/classes/Module.php on line 1016 



J'ai l'impression que je dois attacher ma module à un hook XXX et créer une fonction hookXXX afin d'y faire un appel du type

return $this->display(__FILE__, 'blockunmodule.tpl');



Si je suis sur la bonne piste, je n'arrive pas à voir quel hook utiliser pour un onglet à la racine du backoffice :(

Link to comment
Share on other sites

Enfin, j'ai trouvé ! Je n'en étais pas loin mais pas sur la bonne piste pour autant.

Petite explication d'un novice en PS (excusez moi par avance si ce n'est pas clair) :

Concernant le module, il ne faut pas implémenter les méthodes checkToken(), postProcess() et displayErrors() (et encore moins display()). Il faut créer dans le répertoire de son module une classe héritant de AdminTabs, portant le nom de son onglet et tout simplement y implémenter la méthode display(). C'est là que se trouve l'affichage appelé lors du clic sur l'onglet créé par mon module.

Ce n'est peut être pas LA solution mais c'est celle que j'ai trouvé après 3 jours à éplucher de long en large le code de PS (admin et modules existants).

Merci à tous de vos éventuelles remarques.

Link to comment
Share on other sites

  • 1 year later...

Tibre44,

si je comprends bien, il faut au moins 2 fichiers PHP: 1 dont la classé hérite de Module, et la 2eme hérite de AdminTabs. Confirmez-vous ?

 

Alors comment doit s'appeler le nom du fichier php de la classe héritant de AminTabs ?

 

Merci

Th

 

 

 

WebRep

 

Évaluation globale

 

 

Ce site n'a pas été évalué

(pas assez de votes)

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...