[Smarty] Smarty & Gestion de module
Bonjour !
J'ai opté pour Smarty en tant que gestionnaire de template. J'ai créé un gestion de module.
Voici mon index.php :
Code:
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:
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 !