Documentation is available at ex3.php
- <?php
- /**
- * example 3
- * autoreset
- *
- * @package XTemplate_Examples
- * @author Barnabas Debreceni [cranx@users.sourceforge.net]
- * @copyright Barnabas Debreceni 2000-2001
- * @author Jeremy Coates [cocomp@users.sourceforge.net]
- * @copyright Jeremy Coates 2002-2007
- * @see license.txt LGPL / BSD license
- * @link $HeadURL: https://xtpl.svn.sourceforge.net/svnroot/xtpl/trunk/ex3.php $
- * @version $Id: ex3.php 16 2007-01-11 03:02:49Z cocomp $
- */
- include_once('./xtemplate.class.php');
- $xtpl = new XTemplate('ex3.xtpl');
- // this is the code from example 2:
- $rows = array();
- // add some data
- $rows[1]=array('ID'=>'38',
- 'NAME'=>'cocomp',
- 'AGE'=>'33'
- );
- // add some data
- $rows[2]=array('ID'=>'27',
- 'NAME'=>'linkhogthrob',
- 'AGE'=>'34'
- );
- // add some data
- $rows[3]=array('ID'=>'56',
- 'NAME'=>'pingu',
- 'AGE'=>'23'
- );
- $rowsize = count($rows);
- for ($i=1; $i<=$rowsize; $i++) {
- // assign array data
- $xtpl->assign('DATA', $rows[$i]);
- $xtpl->assign('ROW_NR', $i);
- // parse a row
- $xtpl->parse('main.table.row');
- }
- // parse the table (Table 1)
- $xtpl->parse('main.table');
- /**
- * now, if you wanted to parse the table once again with the old rows,
- * and put one more $xtpl->parse('main.table') line, it wouldn't do it
- * becuase the sub-blocks were resetted (normal operation)
- * to parse the same block two or more times without having the sub-blocks resetted,
- * you should use clear_autoreset();
- * to switch back call set_autoreset();
- */
- $xtpl->clear_autoreset();
- for ($i = 1; $i <= $rowsize; $i++) {
- // assign array data
- $xtpl->assign('DATA', $rows[$i]);
- $xtpl->assign('ROW_NR', $i);
- // parse a row
- $xtpl->parse('main.table.row');
- }
- // parse the table (Table 2)
- $xtpl->parse('main.table');
- // Turn the autoreset back on - the sub-block will be reset after the next table parse
- $xtpl->set_autoreset();
- // parse it one more time.. the rows are still there from the last parse of table (2)
- // the set_autoreset on the previous line means the rows are cleared during this parse (sub-block reset) (Table 3)
- $xtpl->parse('main.table');
- // re-parse the table block (Table 4)
- $xtpl->parse('main.table');
- $xtpl->parse('main');
- $xtpl->out('main');
- ?>
Documentation generated on Tue, 29 May 2007 19:29:34 +0100 by phpDocumentor 1.3.0RC3