vlibTemplate |
![]() |
If you want to create complex designs a modular structure is useful. You can do it with:
Which solution you choose, depends on your style of programming. Advantages and disadvantages might differ from one person to the other. I prefer solution 2, because all logic is placed "in the hands" of PHP and your PHP script is one unit, a small part of a big complex website. But perhaps this is possible with solution one, too. First of all I will explain solution 1.
require_once 'vlib/vlibTemplate.php';
$tmpl = new vlibTemplate('tmpl/modular_tmpl_include.htm');
$tmpl->setvar('header', 'modular_tmpl_include_header.htm');
$tmpl->setvar('body', 'modular_tmpl_include_body.htm');
$tmpl->setvar('title_text', 'TITLE: Modular programming with TMPL_INCLUDE');
$tmpl->setvar('body_text', 'BODY: Modular programming with TMPL_INCLUDE');
$tmpl->pparse();
All methods are known and as you can see we divide our template in 2 parts: Header- and Body part, just like the tags <head></head> and <body></body> do it in HTML. What happens here will clarify when we look at the template.
<tmpl_include file='{var:header}'>
<tmpl_include file='{var:body}'>
In the PHP script we set "header" and "body". They will include the specified template. Therefore you can make complex navigations with $_GET or get your variables from a database.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<title>{tmpl_var name='title_text'}</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
</head>
The template is identical with the first example in this tutorial, but it's seperated in 2 different files. More complex structures are also possible.
<body>
<p>{tmpl_var name='body_text'}</p>
</body>
</html>