Bonjour !

J'ai opté pour Smarty en tant que gestionnaire de template. J'ai créé un gestion de module.

Voici mon index.php :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
require_once ( _PATH .DS.'includes'.DS.'main.class.php' );
 
require_once('libs/Smarty.class.php'); 
 
$oSmarty = new Smarty();
 
if(isset($_GET['mod'])) { 
		$mod = $_GET['mod']; 
		if(is_dir('modules/'.$mod)) {
		include('modules/'.$mod.'/distant.php'); 
		}
	} else { 
		$mod = 'index'; 
		include('modules/'.$mod.'/distant.php');
	}
 
$_mod = new Module($mod);
$oSmarty->assign("module", $_mod->LoadModule());
 
$oSmarty->display('index.php');
 
?>
j'inclus mon module dans mon fichier template par {module}.

et mon fichier modules.class.php qui est inclus dans main.class.php :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
 
class Module {
 
	private $id;
	private $name;
	private $repertory_modules;
	private $Show;
 
	public function __construct($name) {
		$this->name = $name;
		$this->repertory_modules = 'modules/';
		$this->Show = "";
	}
 
	public function LoadModule() 
	{
		if(is_dir('modules/'.$this->name)) {
			$this->Show = file_get_contents($this->repertory_modules.$this->name.'/module.php');
		} else {
			$this->Show = 'Module inexistant'; 
		}
		return $this->Show;
	}
}
 
?>
Donc lorsque je vais sur index.php?mod=memberlist (par exemple), j'obtiens bien ce qu'il y a dans modules/memberlist/module.php mais si je met des variables assignées dans index.php, elles ne fonctionnent pas dans module.php.

J'ai un fichier distant.php dans chaque répertoire de module qui permet d'accueillir les variables et fonctions du modules.

Comment faire en sorte que lorsque j'assigne des variables dans distant.php, je puisse les utiliser dans module.php pour chaque module ?

Merci d'avance pour votre aide !