web-dev-qa-db-fra.com

Est-il possible d'appeler un postflight sur une installation de module?

Je crée un module qui, je l’espère, remplira des fonctions un peu plus complexes que d’autres. Cependant, je devrai effectuer certaines tâches, telles que la modification de la base de données et le déplacement de fichiers lors de l'installation du module.

Je travaille avec Joomla 3.3.

Est-il possible de faire une routine postflight sur une installation de module? Pouvez-vous montrer des exemples ou des liens vers des documents?

Merci!

4
user101289

Oui, c'est possible et c'est assez simple aussi. Premièrement, vous devez ajouter les éléments suivants au fichier XML de vos modules:

<scriptfile>script.php</scriptfile>

Et bien sûr, en passant par là, vous devrez créer un fichier appelé script.php ou le nom de votre choix. Assurez-vous simplement de modifier le nom du fichier dans le code ci-dessus en conséquence. Them, dans le fichier, ajoutez le code suivant:

<?php  
defined('_JEXEC') or die('Restricted access');

class com_helloWorldInstallerScript
{    
     function postflight($type, $parent) 
     {
           // all your code goes in here
     }
}

Ajoutez simplement votre code dans la fonction postflight qui sera ensuite exécutée après l’installation du module. Joomla fournit également 4 autres fonctions intégrées:

  1. installer
  2. désinstaller
  3. contrôle en amont
  4. mise à jour

Ceux-ci peuvent également être utiles pour l'avenir. plus d'informations peuvent être trouvées sur tout cela ici:

https://docs.joomla.org/J3.x:Developing_an_MVC_Component/Adding_an_install-uninstall-update_script_file

J'espère que cela t'aides

2
Lodder

Oui, vous devriez pouvoir aussi.

http://docs.joomla.org/J2.5:Developing_a_MVC_Component/Adding_an_install-uninstall-update_script_file

http://docs.joomla.org/J2.5:Creating_a_simple_module/Adding_an_install-uninstall-update_script_file

Vous pouvez également utiliser "mod" et dans le fichier de configuration du module, vous devez simplement ajouter <scriptfile>path</scriptfile> _ (Je pense que cela pourrait être légèrement différent alors).

Pour manipuler les bases de données et les fichiers, vous aurez besoin de JDatabase et JFile/JFolder.

http://docs.joomla.org/Selecting_data_using_JDatabasehttp://docs.joomla.org/How_to_use_the_filesystem_package

Cela devrait vous aider à démarrer.

2
Jordan Ramstad