Bonjour, je souhaite utiliser smarty et j'aimerai utiliser mes objets ( ex $access->connecte() ).
J'ai commencé a faire :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part $smarty->assign("ma_class",$ma_class);
J'ai eu un soucis, les variables sont enregistré en cache. C'est pourquoi j'ai du supprimer la cache :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part $smarty->caching = false;
Cette solution fonctionne mais j'ai vraiment l'impression de passer totalement a coté des avantages de ce template.
Après avoir recherché , j'ai compris qu'il avait une fonction pour les objet avec la possibilité de limiter les accès à la partie graphique. Soit la fonction
Malheureusement je n'arrive pas a utiliser cette fonction .
Code php : Sélectionner tout - Visualiser dans une fenêtre à part $smarty->register_object('access',$access,'connect');
J'obtiens :
( ! ) Fatal error: Uncaught exception 'SmartyException' with message 'Call of unknown method 'register_object'.' in C:\wamp\www\Stage\libs\sysplugins\smarty_internal_templatebase.php on line 806
( ! ) SmartyException: Call of unknown method 'register_object'. in C:\wamp\www\Stage\libs\sysplugins\smarty_internal_templatebase.php on line 806
Le code complet:
Code php : 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
28 .... $smarty = new Smarty; class access{ private $id_client; function __construct() { if(isset($_SESSION['id_client'])) $this->id_client=$_SESSION['id_client']; else $this->id_client=-1; } public function connex(){ return rand(1,5); //c'est juste pour le test } } $access =new access(); $smarty->register_object('access',$access,'connex'); .... $smarty->display('index.tpl');
Code Smarty : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Petit test<b>{$access->connex()}</b>
Merci d'avance pour votre aide.
Partager