Headymaster
Erfahrenes Mitglied
Hallo!
Also habe da nen kleines Prob mit smarty und dem automatischen includen von andren Templates innerhalb des Content Bereiches.
Also kommen wir mal zu index.tpl:
So in meinem FrontController rufe ich Smarty folgendermaßen aus meiner Registry-Klasse auf.
Also hier sieht man, dass in der Index.tpl der Platzhalter {$Content} mit dem Inhalt des FileSystemPageResolvers gefüllt werden soll....
Naja so es funktioniert soweit, dass meine index.tpl und auch die tpl-datei die includet werden soll aufgerufen und deren Platzhalter ersetzt werden, jedoch sehe ich die HelloWorld.tpl nicht nur wenn ich in den Quelltext schaue sehe ich sie.
So hier mal was denn $page->show($request, $response) überhaupt zurückliefert.
HelloWorld.php:
So und hier die HelloWorld.tpl:
Hoffe ihr habt ne Idee wie smarty sowas handhabt, denn ich arbeite erst seit gestern damit und auch aus der Doku werde ich nur teils schlau...
Würde mich auf jeden Fall über Hilfe freuen
MFG Niels
Also habe da nen kleines Prob mit smarty und dem automatischen includen von andren Templates innerhalb des Content Bereiches.
Also kommen wir mal zu index.tpl:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" href="inc/styles/style.css" />
<title>Testseite</title>
</head>
<body>
<div id="oben"><div class="inhaltDiv">#oben</div></div>
<div id="links"><div class="inhaltDiv">#links</div></div>
<div id="mitte"><div class="inhaltDiv">{$Content}</div></div>
<div id="rechts"><div class="inhaltDiv">#rechts</div></div>
<div id="unten"><div class="inhaltDiv">#unten</div></div>
</body>
</html>
So in meinem FrontController rufe ich Smarty folgendermaßen aus meiner Registry-Klasse auf.
PHP:
$reg = Registry::getInstance();
$reg->setRequest($request);
$reg->setResponse($response);
$smarty = $reg->get('smarty');
$this->preFilters->processFilters($request, $response);
$page = $this->presolver->getPage($request);
$smarty->assign('Content', $page->show($request, $response));
$smarty->display('index.tpl');
$this->postFilters->processFilters($request, $response);
$response->flush();
Also hier sieht man, dass in der Index.tpl der Platzhalter {$Content} mit dem Inhalt des FileSystemPageResolvers gefüllt werden soll....
Naja so es funktioniert soweit, dass meine index.tpl und auch die tpl-datei die includet werden soll aufgerufen und deren Platzhalter ersetzt werden, jedoch sehe ich die HelloWorld.tpl nicht nur wenn ich in den Quelltext schaue sehe ich sie.
So hier mal was denn $page->show($request, $response) überhaupt zurückliefert.
HelloWorld.php:
PHP:
class HelloWorldPage implements Page
{
public function show(Request $request, Response $response)
{
$registry = Registry::getInstance();
$smarty = $registry->get('smarty');
if ($request->issetParameter('Name'))
{
$smarty->assign('Name', $request->getParameter('Name'));
}
$smarty->display('HelloWorld.tpl');
}
}
So und hier die HelloWorld.tpl:
HTML:
<p>{if $Name}Hallo {$Name}.{else}Hallo unbekannter.{/if}</p>
Hoffe ihr habt ne Idee wie smarty sowas handhabt, denn ich arbeite erst seit gestern damit und auch aus der Doku werde ich nur teils schlau...
Würde mich auf jeden Fall über Hilfe freuen
MFG Niels