Jump to content

[Résolu] Verifier si un module est actif avant l'installation des overrides controller


Recommended Posts

Bonjour,

 

J'ai développé un module qui override principalement le controller CategoryController.

 

Je voudrais que l'override s'installe que si le module est activé.
Si on désactive le module alors on désinstalle l'override.
 
Comment puis-je faire cela ?
 
Merci
Edited by RomsWebDesign (see edit history)

Share this post


Link to post
Share on other sites

Exact.

 

Ce que je souhaites c'est lorsque je désactive le module, les overrides se désinstallent également.

La raison est la suivante :

 

     => Par exemple dans le categorycontroller, j'assigne un template différent suivant que l'on soit sur une page avec ou sans enfant.

 

Le problème c'est que si le module est inactif le rendu de ces templates est erroné. Je voudrais que lorsque le module est désactivé, cela affiche tout simplement le template category.tpl, le template par defaut des categories et que le categorycontroller soit également celui par defaut et non l'overridé du module.

 

Je sais pas si je suis bien clair.

Share this post


Link to post
Share on other sites

Merci pour tes réponses.

 

En cherchant un peu dans la classe Module j'ai enfin trouvé comment faire.

Dans la classe de mon module j'ai fait ceci.

    /**
     * Desactivate current module.
     *
     * @param bool $forceAll If true, disable module for all shop
     */
    public function disable($forceAll = false)
    {
        // Disable module for all shops
            parent::disable($forceAll);
            if(!$this->isEnabled())
                parent::uninstallOverrides();
    }

    /**
     * Activate current module.
     *
     * @param bool $forceAll If true, enable module for all shop
     */
    public function enable($forceAll = false)
    {
        if(parent::enable($forceAll))
            parent::installOverrides();
    }

Je sais pas si c'est la meilleure façon de le faire mais ça fonctionne.

Share this post


Link to post
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
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More