Connexion S'inscrire

Connectez-vous

Login *
Mot de passe *
Se souvenir de moi

Créer un compte

Les champs marqués d'un astérisque (*) sont requis.
Nom *
Login *
Mot de passe *
Vérification mot de passe *
Email *
Vérification email *
Captcha *

Comment contrôler l’installation de votre composant Joomla en php


Il est parfois nécessaire de faire certaines vérifications lors de l'installation d'un composant Joomla afin de s'assurer que les configurations ou les éléments requis pour son bon fonctionnement sont présents. Par exemple, si votre composant dépend d'un autre composant, plugin ou module. Joomla nous donne la possibilité de controller l'installation de notre composant. En définissant une classe avec des fonctions spécifiques qui s'exécute avant l'installation,  lors de l'installation, après l'installation, avant la mise à jour et après la mise à jour nous permettant d'avertir l'utilisateur ou même d'arrêter l'installation si nécessaire.

Dans descripteur xml d'installation de votre composant, la balise "<scriptfile>" permet de définir des fichier php à exécuté lors de l'installation.

Exemple:


<scriptfile>installer.php</scriptfile>

Le fichier PHP doit être à la racine du paquetage d’installation, au même niveau que le descripteur XML. Ce fichier contient une classe qui doit être nommée selon la convention suivante com_<nom du composant>InstallerScript.

Exemple: 

class com_docteurJoomlaInstallerScript

{

//...

}

 Cette classe va réagir aux opérations d'installation, de mise à jour et de désinstallation. Voici les 5 méthodes importantes qu'elle peut contenir

  • preflight : appelée avant les phases l'installation ou la mise à jour.

  • install :  exécutée pendant l'installation.

  • update :  exécutée pendant la mise à jour.

  • uninstall :  exécutée pendant la désinstallation.

  • postflight : exécutée après l'installation ou après la mise à jour.

Exemple:


<?php 
defined('_JEXEC') or die('Restricted access'); 
  
class com_docteurJoomlaInstallerScript 
{ 
      function install($parent)  
      { 
            //...votre script php 
      } 
  
      function uninstall($parent)  
      { 
            //...votre script php 
      } 
  
      function update($parent)  
      { 
            //...votre script php 
      } 
  
      function preflight($type, $parent)  
      { 
            //...votre script php
} function postflight($type, $parent) { //...votre script php } }

Les paramètres sont utilisés dans ces méthodes :

  • $parent est un objet qui permet d’accéder aux propriétés de l’installeur de l’extension.

  • $type précise le type d’opération réalisé (install, update, discover_install ou uninstall).

 

Exemple d'affichage d'un avertissement après l'installation. Nous utiliserons donc la méthode postflight:


function postflight {
JFactory::getApplication()->enqueueMessage( 
                    "Veuillez activer l'option... et installer le module docteur Joomla pour le bon fonctionnement du composant!", 
                   'warning');
}


  • Dernière modification le mercredi, 30 novembre 2016 15:53
  • 684
Docteur Joomla

Après plus de 10 ans d'expérience en Joomla, je lance ce Blog pour partager mes connaissances avec les autres développeurs Joomla.

Media