Jump to content

Installation d'un module depuis un autre module


luci1

Recommended Posts

Bonjour,

 

Je souhaite à l'installation d'un module A qui nécessite qu'un autre module B soit préalablement installer,

vérifier que le module B est installer, et si non l'installer.

 

Voici comment je m'y prends :

 

dans la fonction install() de mon module A :

 

public function install()
{
 if ( ! Module::isInstalled('nomModuleB') )
 {
	  ModuleB::install();
 }
 ...
}

 

Le problème est que l'installation du module B semble se passer correctement, sauf que celui-ci n'apparait pas comme installé dans la liste des modules, et je ne comprends pas pourquoi, quelqu'un a-t-il une idée ?

Link to comment
Share on other sites

Il m'est arrivé d'avoir ce genre de problématique.

Je n'ai pas fait d'installation dans une installation (c'est sans doute possible, mais marginal comme séquence, donc source de problèmes)

 

J'ai résolu le problème en faisant échouer l'install de A si B n'est pas installé et réciproquement, en faisant échouer la désinstall de B si A est toujours installé.

 

A noter, en 1.5, il est prévu 2 évolutions (entre autre) sur l'API module qui permettront de mieux gérer ce genre de problématique :

- dans un module, on pourra indiquer de quels autres modules il est dépendant. c'est presta qui gèrera ces problèmes de non install si le module dont il dépend n'est pas présent (j'espère qu'il gèrera aussi les désactivations)

- la séquence d'install pourra retourner des libellés pour indiquer les erreurs plutôt que juste des true/false (pour permettre d'indiquer à l'utilisateur d'installer B avant d'installer A)

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