Introduction aux plugins : Différence entre versions

De TheliaDoc
Aller à : navigation, rechercher
Ligne 28 : Ligne 28 :
 
Notre plugin test deviendrait donc test.zip
 
Notre plugin test deviendrait donc test.zip
  
 +
Voici la structure de base d'une classe Plugin.
 +
 +
<pre>
 +
?php
 +
include_once(realpath(dirname(__FILE__)) . "/Baseobj.class.php");
 +
include_once(realpath(dirname(__FILE__)) . "/Cache.class.php");
 +
include_once(realpath(dirname(__FILE__)) . "/Modulesdesc.class.php");
 +
 +
class Plugins extends Baseobj{
 +
 +
var $nom_plugin;
 +
 +
function Plugins($nom=""){
 +
$this->Baseobj();
 +
$this->nom_plugin = $nom;
 +
}
 +
 +
function init(){
 +
 +
}
 +
 +
function destroy(){
 +
 +
}
 +
 +
function getTitre(){
 +
 +
 +
 +
}
 +
 +
function getChapo(){
 +
 +
 +
}
 +
 +
function getDescription(){
 +
 +
 +
}
 +
 +
function ajout_desc($titre, $chapo, $description, $lang, $devise=""){
 +
 +
 +
 +
}
 +
 +
}
 +
 +
?>
 +
</pre>
  
 
[[Sommaire]]
 
[[Sommaire]]

Version du 11 juillet 2007 à 09:07

Thelia est une application modulaire pouvant être enrichie à l'aide de plugins.

Il existe 3 types de plugins :

- les plugins classiques permettent d'ajouter des actions, des boucles ...
- les plugins transports permettent d'ajouter un mode de transport
- les plugins paiement permettent d'ajouter un nouveau mode de paiement.


Tous ces plugins peuvent être enrichis d'une interface administrateur.

Un plugin est au moins constitué :

- d'un répertoire étant le nom du plugin
- une classe se nommant Nom.class.php


Pour ajouter une gestion du plugin au niveau de l'interface d'administration, le code nécessaire se trouvera dans le fichier test_admin.php


Le "Nom" de la classe est tout simplement le nom du plugin avec sa 1ère lettre en majuscule.


Prenons un exemple simple. Un plugin nommé test.
Nous aurions un répertoire test contenant le fichier Test.class.php
Le plugin sera installé dans le répertoire client/plugins de l'application Thelia.
Il pourra être installé de manière autonome depuis l'interface d'administration. Il suffira pour cela de fournir un fichier zip à l'utilisateur.
Notre plugin test deviendrait donc test.zip

Voici la structure de base d'une classe Plugin.

?php
	include_once(realpath(dirname(__FILE__)) . "/Baseobj.class.php");
	include_once(realpath(dirname(__FILE__)) . "/Cache.class.php");
	include_once(realpath(dirname(__FILE__)) . "/Modulesdesc.class.php");
	
	class Plugins extends Baseobj{
		
		var $nom_plugin;

		function Plugins($nom=""){
			$this->Baseobj();	
			$this->nom_plugin = $nom;			
		}
		
		function init(){
			
		}

		function destroy(){
			
		}		
		
		function getTitre(){
			

			
		}
				
		function getChapo(){


		}
		
		function getDescription(){

	
		}

		function ajout_desc($titre, $chapo, $description, $lang, $devise=""){

			
			
		}
		
	}

?>

Sommaire