My favorites | Sign in
Project Logo
                
Search
for
Updated Jun 25, 2007 by AntonShevchuk
Labels: Phase-Deploy, Phase-Implementation
Tutorial  
Learn HSTemplate in 10 Minutes (Small tutorial)

Include the HSTemplate class library

require_once('HSTemplate/HSTemplate.class.php');

Instantiate the HSTemplate object

For options template_path and cache_path use full path to directory

/* HSTemplate initialization */
$options = array(
                'template_path' => 'templates',
                'cache_path'    => 'cache',
                'debug'         => false,
                );
                
$HSTemplate =& new HSTemplate($options);

Instantiate the HSTemplateDisplay object

// index page
$DisplayIndex = & $HSTemplate->getDisplay('index');

Add Templates

Directory structure:

\- templates (directory set as `template_path`)
   \- index  (by display name)
      |- header.html
      |- index.html
      |- footer.html

Example:

// add templates
$DisplayIndex->addTemplate('header', 'header.html');
$DisplayIndex->addTemplate('index' , 'index.html' );
$DisplayIndex->addTemplate('footer', 'footer.html');

Assign Variables

You can assign variable to 'Global section' or to 'Display section' or to 'Template section', priority:

  1. Global section
  2. Display section
  3. Template section

Example:

// assign template variables
$DisplayIndex->assign('template',     'DISPLAY',   'index');
// assign display variables
$DisplayIndex->assign('display',     'DISPLAY');
// assign global variables (for all display)
$HSTemplate->assignGlobal('global',  'GLOBAL');

Templates

<h2>Test 1</h2>
Global   Variable: <?=$global?><br/>
Display  Variable: <?=$display?><br/>
Template Variable: <?=$template?><br/>

Use Cache

Call method setCache for enable cache for curent Display

  • first argument is unique ID for cache (you can use $_SERVER['REQUEST_URI'])
  • second - it's cache lifetime - default value 3600 seconds (1hour)
  • $DisplayContent->setCache('test1', 3600);
    if (!$DisplayContent->isCached()) {
       $DisplayContent->addTemplate('test1', 'test1.html');
       $DisplayContent->assign('time',     date('H:i:s'), 'test1');
    }

Display

// display all non separated 'display'
$HSTemplate->display();

Sign in to add a comment
Hosted by Google Code