Jump to content

Ajout d'un module Jquery dans une classe étendant “AdminTab”


Recommended Posts

Bonjour,
 
 
J'ai créer une onglets AdminTab et je cherche à ajouter un module Jquery. Malheureusement, je trouve pas comment c'est possible.

 

J'utilise cette methode :

Context::getContext()->controller->addJqueryUI('ui.draggable');

Cependant, si je la place au niveau du constructeur, il me dit que « controller » n'est pas un objet (donc null), et que je le place dans différente méthode de AdminTab, je n'ai pas l'impression que ça soit pris en compte bien que ça soit dans la liste des scripts. Ça arrive certainement dans la fil trop tard.

 

Bref, ma question est : Y a-t-il un moyen de récupérer le controleur avant la génération de l'entête dans un AdminTab ?

 

Merci d'avance.

 

 

Link to comment
Share on other sites

Bonjour,

Dans la classe de création du module et dans la function install creer le hook :

 

    if (!parent::install() || !$this->registerHook('actionAdminControllerSetMedia'))
            return false;

 

et ensuite creer la function :

public function hookActionAdminControllerSetMedia($params)
{
 
     if ( $this->context->controller instanceof AdminMonTabController )
    {
      
          $this->context->controller->addCSS($this->_path.'/mon.css');
       
         $this->context->controller->addJS(array(
                $this->_path.'mon.js'
                
            ));
    }
 
}
 

Link to comment
Share on other sites

Je pense qu'il aurait fallu commencer par traiter un autre point, avant même le problème de jQuery/Plugins.

 

En effet, on nous parle d'AdminTab. Et de contexte. On est donc en présence d'un mix entre une 1.4 et une 1.5 voire 1.6.

 

Il faut tout d'abord convertir l'AdminTab par un ModuleAdminController. De ce principe, vous aurez un controller dans le contexte, par exemple.

 

Pour le reste, vu qu'il s'agit d'un plugin de JQuery UI, la méthode utilisée est la bonne. Pas besoin d'utiliser le addJS et de fournir le lien, utilisez bien le addJqueryUI afin qu'il recherche par lui-même ce qu'il doit inclure, ;-)

Link to comment
Share on other sites

Okay, si je comprends bien. Je dois passer par ModuleAdminController, mais comment j'ajouter mon lien dans l'admin ? Désolé, j'ai récupéré un module qui visiblement date de 1.4 et je pense que ceux qui l'on fait n'avaient aucune maîtrise ce PrestaShop, ni de PHP.

 

Bon, je graterais ça quand j'aurais un peu de temps.

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