Télécharger FAQ
 

Templeet pas à pas

XIII. L'écriture de nouveaux modules

Il est possible d'ajouter de nouvelles fonctions dans Templeet. Pour celà il suffit d'ajouter un module. L'écriture se fait en PHP et présente quelques particularités.

Voici un exemple de module que nous appellerons "monmodule" et qui contient trois fonctions : "mafonction1", "mafonction2" et "mafonction3".


<?php


Function return_mafonction1($array) {
	each($array);
	
	list(,$val) = each($array);
	$param1=eval_list($val);
	
	list(,$val) = each($array);
	$param2=eval_list($val);
	
	...
	
	return "";
}

Function return_mafonction2($array) {
	each($array);
	
	list(,$val) = each($array);
	$param1=eval_list($val);
	
	list(,$val) = each($array);
	$param2=eval_list($val);
	
	...
	
	
	return "";
}

Function return_mafonction3($array) {
	each($array);
	
	list(,$val) = each($array);
	$param1=eval_list($val);
	
	...
	
	return "";
}

Function monmodule_return() {
	return array('mafonction1','mafonction2','mafonction3');
}


?>


Les fonctions qui peuvent être appelées à partir d'un template doivent être précédées de "return_";


...

Function return_mafonction1($array) {

...
	
Function return_mafonction2($array) {

...

Function return_mafonction3($array) {

...

Afin que Templeet puisse prendre en compte ces nouvelles fonctions il est nécessaire de les déclarer. Ceci se fait à l'aide d'une fonction qui porte le nom du module suivi de "_return". Cette fonction retourne un tableau avec le nom de chacune des fonctions du module.


...

Function monmodule_return() {
	return array('mafonction1','mafonction2','mafonction3');
}

...

Les paramètres passés à une fonction sont passés sous forme de tableau. Chaque fonction doit donc être déclarée de manière à recevoir un seul paramètre: le tableau.


...

Function return_mafonction1($array) {

...

Le tableau contient un arbre sémentique des paramètres. Ceux-ci sont évalués par la fonction elle même. Le premier élément du tableau ne sert pas à ce niveau de l'évaluation de Templeet et doit donc être éliminé.


Function return_mafonction1($array) {
	each($array);  <-- élimination du premier paramètre

Chacun des paramètres doit ensuite être extrait individuellement et évalué.


Function return_mafonction1($array) {
	each($array); 

	list(,$val) = each($array); <-- extraction du premier paramètre
	$param1=eval_list($val);    <-- évaluation du premier paramètre
	
	list(,$val) = each($array); <-- extraction du second paramètre
	$param2=eval_list($val);    <-- évaluation du second paramètre
	
	...

Le nombre de paramètres peut être variable.


Function return_mafonction1($array) {
	each($array); 

	list(,$val) = each($array); 
	while (isset($val))
	  {
	    $param=eval_list($val);   
	    
	    traitement du paramètre lu
	    ...
	    
	    list(,$val) = each($array);
	  }

Les paramètres peuvent être évalués plusieurs fois si nécessaire. Les fonctions de listes sont des exemples de modules où les paramètres peuvent être évalués à plusieurs reprises.

Pour être utilisable votre nouveau module doit être enregistré dans Templeet.
Pour celà il suffit d'utiliser l'option prévue à cet effet dans l'interface d'administration.