Hey.
Jeg har et problem med dette template system:
class Template {
var $vars;
function Template($file = null) {
$this->file = $file;
}
function set($name, $value) {
$this->vars[$name] = is_object($value) ? $value->fetch() : $value;
}
function fetch($file = null) {
if(!$file) $file = $this->file;
extract($this->vars);
ob_start();
include($file);
$contents = ob_get_contents();
ob_end_clean();
return $contents;
}
}
Selve systemet virker fint. Mit problem er at jeg har en brugerclass med forskellige funktioner, og i de funktioner der skriver den en besked hvis der er gået en fejl etc. Så når jeg implenterer det i templatesystemet så bliver det:
if ($mode == "REGISTER") {
$tpl->set('title', $lang['User_reg']);
$body = & new Template('template/msg.tpl');
$body->set('msg', $user->userRegister());
$body->set('title', $lang['User_reg']);
$tpl->set('content', $body);
echo $tpl->fetch('template/index.tpl');
}
Jeg har et $msg varibel på msg.tpl, men problemet er at $user->userRegister() som er min funktion til at registrer, når den skriver tilbage så kommer teksten ikke på $msg's plads, men udenfor mit template...
-----------------------------------------------------------
Et andet problem jeg har er at jeg lige har installeret php5, før havde jeg php4 og der fungerede flg. funktion:
function postvars() {
foreach(func_get_args() as $var) {
if(!isset($_POST[$var]) || $_POST[$var] === '') return false;
}
return true;
}
Her checker dem om $_POST[$var] er ikke sat eller om den er tom, men i PHP5 der returner den false udenset hvad..
Jeg håber I kan hjælpe med disse problemer, og jeg takker på forhånd!
Indlæg senest redigeret d. 14.07.2006 16:07 af Bruger #10206