Template::Library::HTML

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
Template::Library::HTUser)Contributed Perl DocumentTemplate::Library::HTML(3)



NAME
       Template::Library::HTML - Template library for building basic HTML
       pages

DESCRIPTION
       NOTE: This documentation is incomplete and may be incorrect in places.

       The ’html’ template library is distributed as part of the Template
       Toolkit.	 It can be found in the ’templates’ sub-directory of the
       installation directory.

	   use Template;

	   my $tt2 = Template->new({
	       INCLUDE_PATH => ’/usr/local/tt2/templates’,
	   });

       For a portable way to determine the installation ’templates’ direc-
       tory, you can use the "Template::Config->instdir()" class method.

	   use Template;

	   my $tt2 = Template->new({
	       INCLUDE_PATH => Template::Config->instdir(’templates’),
	   });

       You should now be able to access the html library as, for example:

	   [% INCLUDE html/header %]

       Note that some of the more basic elements don’t give you much more
       than the raw HTML tags.	In many cases you might be well advised to
       stick to regular HTML rather than complicating matters by the use of
       template elements.

       e.g.

	   <table>
	     . . .
	   </table>

       vs

	   [% WRAPPER html/table %]
	      . . .
	   [% END %]

       However, the use of template elements to generate the underlying HTML
       does have some important benefits, particularly as the constructs
       start to get more complicated and more magical.

       See the example in the ’examples’ sub-directory of the distribution
       directory for further examples and enlightenment on using this
       library.

       Headers, Footers and Pages


       header
	   The ’header’ element generates the regular header required as the
	   pre-amble for an HTML document.  That is, everything from the ini-
	   tial <html> to the opening <body>.

	       [% INCLUDE html/header
		    title = ’This is a Test’
		    bgcol = ’#ffffff’
	       %]

	   Additional header items can be provided by explicitly setting the
	   ’headers’ variable, e.g.

	       [% headers = BLOCK %]
	       <META name="description" content="Template Toolkit">
	       <META name="REVISIT-AFTER" content="14 days">
	       <META name="keywords" content="Templates, Web, ...etc...">
	       [% END %]

	       [% INCLUDE html/header
		    title = ’This is a Test’
		    bgcol = ’#ffffff’
	       %]

       footer
	   The ’footer’ element generates the terminating </body> and </html>
	   element to balance the header.

	       [% PROCESS html/header %]

	       ...page content here...

	       [% PROCESS html/footer %]

       page
	   The ’page’ element combines the ’html/header’ and ’html/footer’
	   elements.

	       [% WRAPPER html/page %]

	       ...page content here...

	       [% END %]

	   Page content should be defined in the ’content’ variable (e.g. via
	   WRAPPER).  Additional HTML headers should be defined in the ’head-
	   ers’ variable.

	       [% WRAPPER html/page
		   headers = ’<META name="keywords" content="foo, bar, ...">’
	       %]

	       ...page content here...

	       [% END %]

       Tables, Bars and Boxes


       table
	   A basic element for creating HTML tables.

	       [% WRAPPER html/table pad=10 space=4 col=’#404040’ %]
		  <tr>
		   <td>Hello</td> <td>World</td>
		  </tr>
	       [% END %]

	   The following variables may be defined:

	   border
	       Set the border width (default: 0)

	   col Set the background colour (default: none).

	   width
	       Set a fixed table width.

	   pad Set the cellpadding.

	   space
	       Set the cellspacing.

	   content
	       Content for the box.  Supplied automatically if used via WRAP-
	       PER.

       row A basic element for creating HTML table rows.

	       [% WRAPPER html/table %]
		  [% WRAPPER html/row %]
		   <td>Hello</td> <td>World</td>
		  [% END %]
	       [% END %]

	   The following variables may be defined:

	   col Set the background colour (default: none).

	   valign
	       Set the vertical alignment.

	   rowspan
	       Specify the number of rows to span.

	   content
	       Content for the box.  Supplied automatically if used via WRAP-
	       PER.

       cell
	   A basic element for creating HTML table cells.

	       [% WRAPPER html/table %]
		  [% WRAPPER html/row %]
		     [% INCLUDE html/cell
			   FOREACH content = [’Hello’, ’World’] %]
		  [% END %]
	       [% END %]

	   The following variables may be defined:

	   col Set the background colour (default: none).

	   align
	       Set the horizontal alignment.

	   colspan
	       Specify the number of columns to span.

	   content
	       Content for the cell.  Supplied automatically if used via
	       WRAPPER.

       bar The bar element is a wrapping of html/table + html/row.

	       [% WRAPPER html/bar %]
		  <td>Foo</td>	<td>Bar</td>
	       [% END %]

       box The box element is a wrapping of html/table + html/row + html/cell

	       [% WRAPPER html/box %]
		  Hello World!
	       [% END %]

AUTHOR
       Andy Wardley <abw@wardley.org>

       <http://wardley.org/│http://wardley.org/>

VERSION
       2.68, distributed as part of the Template Toolkit version 2.19,
       released on 27 April 2007.

COPYRIGHT
	 Copyright (C) 1996-2007 Andy Wardley.	All Rights Reserved.

       This module is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

SEE ALSO
       Template::Library::Splash



perl v5.8.8			  2007-04-27	   Template::Library::HTML(3)