Bonsoir,
j'ai pas trop su comment nommé le sujet de mon message mais j'essaierais d'être le plus clair possible ^^
J'utilise des méthodes afin d'afficher les différentes pages de mon site de cette façon :
mais j'aurais voulu centraliser toutes les variables de méta dans une fonction de cette manière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 // Méthode qui affiche la page d'accueil du site function afficherAccueil() { $a = new Affichage(); $a->set_file('MODELE','index.tpl.php'); $a->set_var('Keywords',KEYWORDS); }
le problème c'est que de cette façon la variable test ne s'affichera pas sur la page... je sais pas comment faire pour faire appel à la fonction des méta tout en gérant les variables sans la méthode mère !
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 // Méthode qui affiche la page d'accueil du site function afficherAccueil() { $this->template('index.tpl.php','Accueil'); $a = new Affichage(); $a->set_var('title','test'); } // Méthode qui génère la page HTML en fonction du template function template($page, $titre) { $a = new Affichage(); $a->set_file('MODELE',$page); $a->set_var('title',APPLICATION.' : '.$titre); $a->set_var('Author',AUTHOR); $a->set_var('Publisher',PUBLISHER); $a->set_var('Reply-to',REPLY_TO); $a->set_var('Description',DESCRIPTION); $a->set_var('Keywords',KEYWORDS); $a->set_var('Indentifier-URL',IDENTIFIER_URL); $a->set_var('Copyright',COPYRIGHT); $a->set_var('Robots',ROBOTS); $a->set_var('Revisit-after',REVISIT_AFTER); }
Quelqu'un m'a dit de déclarer $a en protected, d'en faire appel dans la fonction afficherAccueil, et de l'utiliser comme ça dans la méthode template :
je dois vraiment pas être doué, car ça me retourne cette erreur :
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
28
29
30
31
32
33 class Index { protected $a; // Méthode qui affiche la page d'accueil du site function afficherAccueil() { $a = new Affichage(); $this->template('index.tpl.php','Index'); $a->set_var('test','test'); } // Méthode qui génère la page HTML en fonction du template function template($page,$titre) { $this->a->set_file('MODELE',$page); $this->a->set_var('title',APPLICATION.' : '.$titre); $this->a->set_var('Author',AUTHOR); $this->a->set_var('Publisher',PUBLISHER); $this->a->set_var('Reply-to',REPLY_TO); $this->a->set_var('Description',DESCRIPTION); $this->a->set_var('Keywords',KEYWORDS); $this->a->set_var('Indentifier-URL',IDENTIFIER_URL ); $this->a->set_var('Copyright',COPYRIGHT); $this->a->set_var('Robots',ROBOTS); $this->a->set_var('Revisit-after',REVISIT_AFTER); } }
Fatal error: Call to a member function set_file() on a non-object in index.php on line 23
première ligne de la méthode template, donc toutes les suivantes génèreront les mêmes erreurs![]()
Si vous savez comment faire je suis preneur ^^
Merci !
bonne soirée !
Partager