Zo, na weer een lange tijd geen vragen gesteld te hebben op GoT, bij deze weer een
. Ben bezig met een projectje, nou zit het zo een beetje in elkaar:
Even wat uitleg over code en de functie ervan
. gettemplate wordt gebruikt om een template te printen, loadtemplates heeft de templates uit de db gehaald en ze in de array $plain_template[] gezet. gettemplate echot ze dus. Nou is de functie navigation gebruikt om de navigatie bar te laten zien (hier zit nog wat meer code bij maar veel nut heeft deze niet bij het oplossen van het probleem =]). Nou, je ziet dus dat de template navigation, op het scherm moet verschijnen. Laten we zeggen dat de template 'navigation' er zo uit ziet: '<h3>$navigation</h3>'. Ook zie je dat de variabele $navigation geglobald moet worden. Dit gebeurt volgens mij wel gewoon, omdat op de 'normale' pagina's dit ook werkt.
Nu eindelijk naar mijn probleem toe. Omdat ik de functie gettemplate uit de classe template aanspreek via de functie navigation (moeilijke zin hè
) kent/weet hij de variabele $navigation in gettemplate niet. Oftewel mijn vraag is of er toch iets aan m'n code fout zit, of omdat dit gewoon niet kan in 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
28
29
| template.php
class: template
function: loadtemplates
function: gettemplate, hier de code ervan:
function gettemplate($name,$globals='') {
global $plain_template,$config,$database,$styles,$user;
$split = explode(",",$globals);
$count = count($split);
for ($i = 0;$i < $count;$i++) {
global ${$split[$i]};
}
if ($plain_template[$name] == "") {
error("Template '$name' has not been preloaded!",1);
}
$template[$name] = addslashes($plain_template[$name]);
$template[$name] = str_replace("\\'","'",$template[$name]);
eval('echo "'.$template[$name].'";');
} // end f: gettemplate
common.php
function: navigation, code hiervan:
function navigation($navigation) {
global $template,$styles,$database;
$template->gettemplate("navigation","navigation");
} // end f: navigation
login.php
gedeelte hieruit:
navigation("<a href=\"main.php\">Main</a> - Login"); |
Even wat uitleg over code en de functie ervan
Nu eindelijk naar mijn probleem toe. Omdat ik de functie gettemplate uit de classe template aanspreek via de functie navigation (moeilijke zin hè