Implementing a Template Based Web Site With PHP - Templates in a folder
(Page 3 of 5 )
We shall now take a quick look at an equivalent function for reading the template from a directory:
function gettemplate($templatename) {
global $templatecache;
#check if template has already been loaded
if ($templatecache[$templatename]!="") {
#return cached version
$template = $templatecache[$templatename];
} else {
#retrieve from file
$handle = fopen("./templates/".$name,"r");
$template = fread($handle,filesize("./files/pages/".$name.".php");
#close the file
fclose($handle);
$template = str_replace("\"","\\\"",$template);
#cache the contents
$templatecache[$name] = $template;
}
return $template;
}This function does exactly the same as the last, but instead loads the template from a /templates/ directory (with a no file extension).
Now that we have our function for reading a template, we can go about using one. Firstly, however, insert the following 2 templates into the database table, or into two files, depending on the method you wish to use:
Template Name: ResultsPage<html>
<head>
<title>$pagetitle</title>
</head>
<body>
<h1>$pagetitle</h1>
<p>Below are the results of the search for '$searchquery'</p>
<table border="0">
<tr>
<td><b>Title</b></td>
<td><b>Hits</b></td>
</tr>
$resultbits
</table>
</body>
</html>Template Name: ResultsBit<tr>
<td><b><a href="view.php?id=$data[id]">$data[title]</a></td>
<td><b>$data[hits]</b></td>
</tr>Next: The PHP Code >>
More MySQL Articles
More By James Crowley