Nouveau sujet Répondre Imprimer Syndication RSS 2.0

Utiliser le système d'activation / Désactivation de MOD

Chef du projet FSB
Avatar de Genova
  • Age : 24 ans
  • Messages : 14653
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 26 Septembre 2005, 18:56
Depuis la version 1.0.3 de FSB il est possible (et même fortement conseillé) de faire en sorte que votre MOD soit activable / Désactivable via l'administration.

Voici rapidement les choses à savoir pour utiliser ce système.

  1. [size=18]Le cache :[/size]
      La première chose est une requète de cache à insérer dans votre MOD :
      Citation
      INSERT ac_mods FIELDS mod_name mod_version mod_description mod_auteur mod_email mod_actif VALUES 'nom_du_mod' 'version_du_mod' 'Description du MOD' 'nom_de lauteur' 'adresse_mail_auteur' '1';

      Les champs en gras sont ceux que vous devez remplir.

      A noter que le champ mod_version n'est actuellement epxlicitement pas utilisé, mais il le sera probablement dans le futur.


  2. [size=18]Tester si le MOD est activé, dans les fichiers PHP[/size]
      Maintenant que la requète a été faite vous pouvez tester si le MOD est activé ou non via le code suivant :
      if ($MOD['nom_du_mod'])
      {
         // MOD activé
      }

      Utilisez donc cette condition pour calculer ou non ce que doit faire votre MOD, suivant s'il est activé ou pas


  3. [size=18]Tester si le MOD est activé, dans les fichiers templates[/size]
      Un switch template est automatiquement créé si le MOD est activé, il s'agit du switch "switch_mod_nom_du_mod", dans les fichiers templates il vous suffira de faire :
      <!-- IFEXIST switch_mod_nom_du_mod -->
         Ce code s'affiche si le MOD est activé
      <!-- ENDIF -->


  4. [size=18]Exemple[/size]
      Un petit exemple de MOD qu'on a appelé "test" :
      if ($MOD['test'])
      {
         echo 'je suis activé';
      }

      <!-- IFEXIST switch_mod_test -->
         Je suis activé
      <!-- ENDIF -->


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Chef du projet FSB
Avatar de Genova
  • Age : 24 ans
  • Messages : 14653
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 30 Septembre 2005, 13:16
Un petit ajout important (suite à une remarque de dravick), si vous souhaitez utiliser la variable $MOD dans une fonction, ne la globalisez pas avec global, mais utilisez le tableau $GLOBALS.

Par exemple :
[php]function test()
{
if ($GLOBALS['MOD']['mon_mod'])
{
echo 'Ce mod est installé';
}
}[/php]


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Répondre


.