Bonjour !
J'ai opté pour Smarty en tant que gestionnaire de template. J'ai créé un gestion de module.
Voici mon index.php :
j'inclus mon module dans mon fichier template par {module}.
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'); ?>
et mon fichier modules.class.php qui est inclus dans main.class.php :
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.
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; } } ?>
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 !
Partager