Web Development With PHP FastTemplate - A Rose By Any Other Name... (
Page 9 of 9 )
So that's one
look - but now how about changing it so that the quick link boxes appear in a
column on the left, with the main story taking up the rest of the
page?
With FastTemplate, altering the layout is a snap - it merely
involves editing the "main.tpl" and "list.tpl" templates.
<!-- begin: main.tpl -->
<html>
<head>
<basefont face="Verdana">
</head>
<body link="Navy" vlink="Navy" alink="Navy">
<!-- standard header -->
<table width="100%">
<tr>
<td bgcolor=navy height=50> </td>
</tr>
</table>
<table width="100%" border="0" cellspacing="10" cellpadding="10">
<tr>
<td valign=top>
{LINKS}
</td>
<td valign=top>
{ARTICLE}
</td>
</tr>
</table>
<!-- standard footer -->
<hr>
<center><font size=-2>All content copyright and proprietary Melonfire,
2001. All rights reserved.</font></center>
</body>
</html>
<!-- end: main.tpl -->
<!-- begin: list.tpl -->
<table border=1 cellspacing=0 cellpadding=5>
<tr><td align=center bgcolor="black">
<font color=white><b>{SECTION_TITLE}</b></font>
</td></tr>
<tr><td>
<ul>
{LIST}
</ul>
</td></tr>
</table>
<p>
<!-- end: list.tpl -->
In this case, I've simply set up a new table structure for the main page
to accommodate the new layout. And when I run the PHP script (without changing a
single line of code), here's what I get:

Why stop there? Let's do away with the link boxes
altogether, and have the links appear in neat rows at the bottom…
<!-- begin: main.tpl -->
<html>
<head>
<basefont face="Verdana">
</head>
<body link="Navy" vlink="Navy" alink="Navy">
<!-- standard header -->
<table width="100%">
<tr>
<td bgcolor=navy height=50> </td>
</tr>
</table>
<p>
{ARTICLE}
<p>
{LINKS}
<!-- standard footer -->
<hr>
<center><font size=-2>All content copyright and proprietary Melonfire,
2001. All rights reserved.</font></center>
</body>
</html>
<!-- end: main.tpl -->
<!-- begin: list.tpl -->
<font size=-1>
New in <b>{SECTION_TITLE}</b>...
<br>
{LIST}
</font>
<p>
<!-- end: list.tpl -->
<!-- begin: listitem.tpl -->
<a href="story.php?id={ID}"><font
size=-1>{ITEM}</font></a>
<!-- end: listitem.tpl -->
In this case, I've altered three of the templates to remove the tables and
list constructs, so that I'm left with a very simple and elegant
layout.

As you can see, FastTemplate makes
it possible to separate the user interface from the program logic, thereby
allowing designers with little or no programming knowledge to alter Web pages
quickly and easily. Further - with its ability to nest and repeat chunks of HTML
code, it can speed up development time significantly, and also reduce the effort
involved in maintaining and modifying a Web application.
That's about it
from me. In case you're looking for more information, you should consider
visiting the following links:
The FastTemplate home page:
http://www.thewebmasters.net/PHPBuilder's
FastTemplate tutorial:
http://www.phpbuilder.com/columns/sascha19990316.php3The
original (Perl) FastTemplate module:
http://www.sober.com/Till next
time...stay healthy!