Hallo,
Ik ben bezig met het overstappen van TemplatePower naar Smarty.
Nu zit ik met het volgende probleem.
Bij templatepower heb je de functie PrintToScreen.
Bij smarty het je volgens mij niet zo functie maar ik zit met een probleempje.
Ik wil me template bestanden met inhoud apart houden van me index layout.
In templatepower had ik een index.tpl bestand met me index er in.
Dan deed ik in mijn php code AssignInclude("content", template."/pagina.tpl");
En die werd dan netjes geprint op het de plek in index.tpl waar <!-- INCLUDE BLOCK : content --> staat.
Nu heb ik een 2 aparte bestanden gemaakt, Header.tpl en Footer.tpl.
Die had ik eerst geinclude d.m.v. {include file='header.tpl'} maar dan stuit ik op problemen met me code.
Ik doe als laatste een berekening van de laadtijd van de pagina.
En die plaatst die dan in de header van de pagina.
Aangezien in nu moet werken met display() en die gelijk de output geeft kan ik daar niets meer veranderen.
Met template power deed ik dit:
Bestand.php
En in me output.inc.php deed ik dit:PHP Code:
<?
require_once("include/include.inc.php");
$tpl->assignInclude("pagina", template."/contact.tpl");
$tpl->prepare();
$tpl->assign("pagina", "Contact");
$tpl->newBlock("layout");
require_once(pad."/include/output.inc.php");
?>
Daar gooide die de template helemaal in elkaar en reaplaced die de tijd.PHP Code:
<?
// Parsetijd berekenen
$core["tijd"] = getmicrotime() - $core["tijd"];
// Parse statistieken
$parsetijd_100 = $core["tijd"] / 100;
$db = round(($sql->sql_tijd / $core["tijd"] * 100), 1);
$php = round((100 - $db), 1);
$tpl->assignGlobal("parse_info", "{tijd}");
// $tpl->assignGlobal("aantal", $core['aantal_leden']);
if($core["ingelogd"]) {
$tpl->newBlock("ingelogd");
$tpl->assign("layout.gebruikersnaam", $core['gebruikersnaam']);
}
else{
$tpl->newBlock("gast");
$tpl->assign("layout.gebruikersnaam", "Niet ingelogd");
}
ob_start();
$tpl->printToScreen();
$content = ob_get_contents();
ob_end_clean();
echo str_replace("{tijd}" , round($core["tijd"], 4) . " (PHP: " . $php . "% SQL: " . $db . "%) [$sql->querys]", $content );
?>
Nu met smarty moet ik het zo doen als ik het zelfde voor elkaar wilt krijgen.
PHP Code:
<?
require_once("include/include.inc.php");
$template = "contact.tpl";
$tpl->assign("pagina", "Contact");
require_once(pad."/include/output.inc.php");
?>Maar ik vind dit niet zo netjes,PHP Code:
<?
// Parsetijd berekenen
$core["tijd"] = getmicrotime() - $core["tijd"];
// Parse statistieken
$parsetijd_100 = $core["tijd"] / 100;
$db = round(($sql->sql_tijd / $core["tijd"] * 100), 1);
$php = round((100 - $db), 1);
// $tpl->assign("parse_info", round($core["tijd"], 4) . " (PHP: " . $php . "% SQL: " . $db . "%) [$sql->querys]");
$tpl->assign("parse_info", "{tijd}");
$tpl->assign("gebruikersnaam", $core['gebruikersnaam']);
ob_start();
$tpl->display('header.tpl');
$tpl->display($template);
$tpl->display('footer.tpl');
$content = ob_get_contents();
ob_end_clean();
echo str_replace("{tijd}" , round($core["tijd"], 4) . " (PHP: " . $php . "% SQL: " . $db . "%) [$sql->querys]", $content );
?>
Weet iemand een andere oplossing?
- Van templatepower naar Smarty
-
14-10-2006, 16:16 #1
- Berichten
- 21
- Lid sinds
- 19 Jaar
Van templatepower naar Smarty
-
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic