TinyButStrong

TinyButStrong Template Engine
Developer(s) Skrol29
Stable release
3.7.0 / March 18, 2011 (2011-03-18)
Written in PHP
Type Template Engine
License LGPL
Website www.tinybutstrong.com

TinyButStrong is a web template system written in the PHP language. Its library for the attention of PHP developers. As a template system, its goal is to help to code by separating the business algorithms (Business logic) from the construction of the user presentation. The short name for TinyButStrong is TBS.

The first version of TinyButStrong appeared in January 2002. Its first goal was to merge emails. In the middle 2002, it was able to merge dynamic web pages. The name of TinyButStrong comes from the intention to be simple to use while being handy for several levels of developers. TinyButStrong was always content in a single PHP file.

The TinyButStrong Template Engine claims to merge Natural Templates, i.e. templates that respect the format of the final document to produce. It is possible to build an HTML template that is W3C compliant, and it is possible to build it using a WYSIWYG tool. It is also possible to build an OpenOffice Writer template using OpenOffice.org.

This ability to operate within an environment where website designers use WYSIWYG tools is crucial for end users during website development. It enables them to utilize separate vendors - one for their 'look & feel' designers and other(s) for their programming requirements. Obviously, this extends the lifecycle as their ability to change vendors with much less difficulty in replacing specific skill sets is enhanced substantially.

The TinyButStrong engine can only deals with template that are text sources. Thus, it can merge contents like HTML pages, email, XML, or RSS, but it cannot merge templates such as PDF. The core system contains few features dedicated to HTML templates.

TinyButStrong can be extended to merge OpenOffice and Microsoft Office documents. This is possible because such documents are in fact XML contents embed in a zip archive. Building such documents with TinyButStrong requires a plug-in called OpenTBS.

Features

TinyButStrong Examples

An HTML template with TinyButStrong tags might look like this:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html>
<head>
   <title>[onshow.title]</title>
</head>
<body> 
  [onshow.message] 
</body>
</html>

The business logic to use the TinyButStrong template above could be as follows:

<?
include_once('tbs_class.php');
$TBS = new clsTinyButStrong;
$TBS->LoadTemplate('template.htm');

$title = 'Example Page';
$message = 'Hello';

$TBS->Show();

Natural Templates

Natural Templates are templates that respect the format of the final document to produce. This can be done by TinyButStrong because:

Relative syntax for blocks

Here is an example of the TinyButStrong standard syntax for a block that should multiply the rows of an HTML table. This syntax interferes with the HTML structure.

<table>
  <tr> <td>Id</td> <td>Name</td> </tr>
[block1;block=begin]
  <tr> <td>[block1.id]</td> <td>[block1.name]</td> </tr>
[block2;block=end]
</table>

Here is an example of the TinyButStrong relative syntax for the same block. This syntax doesn't interfere with the HTML structure.

<table>
  <tr> <td>Id</td> <td>Name</td> </tr>
  <tr> <td>[block1.id]</td> <td>[block1.name;block=tr]</td> </tr>
</table>

Relative syntax for fields

Here is an example of the TinyButStrong standard syntax for a field that should change the value of an HTML attribute. This syntax interferes with the HTML structure.

<div class="[onshow.new_value]"> Some text here </div>

Here is an example of the TinyButStrong relative syntax for the same field. This syntax doesn't interferes with the HTML structure.

<div class="style1"> Some text here [onshow.new_value;att=div#class] </div>

See also

References

    This article is issued from Wikipedia - version of the 3/24/2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.