| 
<?php// have to put this into a php block or the <?xml will be put as a PHP syntax error on extended code escape
 echo '<?xml version="1.0" encoding="UTF-8"?>';
 ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
 <!-- Generic browser family -->
 <title>DomCore Demos, a WebAbility® Network Project</title>
 <meta http-equiv="PRAGMA" content="NO-CACHE" />
 <meta http-equiv="Expires" content="-1" />
 
 <meta name="Keywords" content="DomCore, templates, WebAbility" />
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <meta name="Charset" content="UTF-8" />
 <meta name="Language" content="en" />
 <link rel="stylesheet" href="/skins/css/domcore.css" type="text/css" />
 
 </head>
 <body>
 
 <div class="container">
 
 <a href="../index.html" class="back">« Back to the index</a><br />
 <br />
 
 <h1>\core\WATemplate elements example</h1>
 
 <h2>Relax mode</h2>
 <?php
 
 // We assure any DomCore library we call will be automatically loaded
 include_once '../include/__autoload.lib';
 
 setlocale(LC_ALL, 'es_MX.UTF8', 'es_MX', '');
 date_default_timezone_set('America/Mexico_City');
 
 // RELAX MODE
 
 $template = <<<EOF
 %-- This is the example of a template --%
 <h3>##maintitle##</h3>
 Let's print some results.<br />
 In the <b>normal mode</b>, the recommended syntax of parameters, languages and fields, to identify them rapidly by nature in your templates:<br />
 <b>__PARAM__</b> are simple parameters used to build the template,<br />
 <b>##entry##</b> are language entries (titles, helps, etc),<br />
 <b>{field}</b> are information fields, and generaly come from a database record.<br />
 This syntax is OPTIONAL, however <b>HIGHLY RECOMMENDED</b>.<br />
 Note the normal elements (added with ->addElement() ) are NOT metaelements,  and you must not use { { and } } for them.<br />
 <br />
 <div style="width: __WIDTH__; height: __HEIGHT__; background-color: __COLOR__; color: white; padding: 10px;">
 
 ##title1##: {value1}<br />
 ##title2##: {value2}<br />
 ##title3##: {value3}<br />
 
 </div>
 <br />
 
 EOF;
 
 $temp = new \core\WATemplate($template);
 
 // the use of addElement, addElements or metaelements for SIMPLE ELEMENTS is exactly the same result, use the one that you prefer based on your needs
 // Only the way to pass through the parameters change.
 
 // all the elements are CUMULATIVE
 $temp->addElement('##maintitle##', ' elements');
 $temp->addElement('##maintitle##', ' example');
 
 // You can also insert elements in REVERSE mode, i.e. at the beginning of others added elements of same ID
 $temp->addElement('##maintitle##', 'Simple', true);
 
 // Some simple parameters in arrays
 $temp->addElement(
 array('__WIDTH__', '__HEIGHT__', '__COLOR__'),
 array('200px', '100px', '#800')
 );
 
 // metaelements can be called ONLY ONCE
 $temp->metaElements(
 array(
 '##title1##' => 'City',
 '##title2##' => 'Engineer',
 '##title3##' => 'Advance',
 '{value1}' => 'Mexico',
 '{value2}' => 'Pedro Perez',
 '{value3}' => '80%',
 ),
 false,
 false
 );
 
 print $temp->resolve();
 
 
 
 
 // STRICT MODE
 
 print "<h2>Strict mode</h2>";
 
 $template = <<<EOF
 %-- This is the example of a template --%
 <h3>##maintitle##</h3>
 Let's print some results.<br />
 In the <b>strict mode</b>, you may use <b>any type of name syntax</b> without worrying about the names conflict, since they are all included into { { and } }.<br />
 <br />
 <b>It is highly recommended to ALWAYS use the strict mode</b>.<br />
 Note the normal elements (added with ->addElement() ) are NOT metaelements,  and you must not use { { and } } for them.<br />
 <br />
 <div style="width: __WIDTH__; height: __HEIGHT__; background-color: __COLOR__; color: white; padding: 10px;">
 
 {{title1}}: {{value1}}<br />
 {{title2}}: {{value2}}<br />
 {{title3}}: {{value3}}<br />
 
 </div>
 <br />
 
 EOF;
 
 $temp = new \core\WATemplate($template);
 
 // the use of addElement, addElements or metaelements for SIMPLE ELEMENTS is exactly the same result, use the one that you prefer based on your needs
 // Only the way to pass through the parameters change.
 
 // Simple elements are NOT meta elements, Do not use {{...}} since they are a metaelement
 
 // all the elements are CUMULATIVE
 $temp->addElement('##maintitle##', ' elements');
 $temp->addElement('##maintitle##', ' example');
 
 // You can also insert elements in REVERSE mode, i.e. at the beginning of others added elements of same ID
 $temp->addElement('##maintitle##', 'Simple', true);
 
 // Some simple parameters in arrays
 $temp->addElement(
 array('__WIDTH__', '__HEIGHT__', '__COLOR__'),
 array('300px', '150px', '#008')
 );
 
 // you do not need to add {{ and }} to the elements and metaelements in strict mode. addElements() is a deprecated synonym of metaElements()
 
 // metaelements can be called ONLY ONCE
 $temp->metaElements(
 array(
 'title1' => 'City',
 'title2' => 'Engineer',
 'title3' => 'Advance',
 'value1' => 'Mexico',
 'value2' => 'Pedro Perez',
 'value3' => '80%',
 ),
 false,
 true
 );
 
 print $temp->resolve();
 
 ?>
 
 <br />
 <br />
 <br />
 <br />
 
 <a href="../index.html" class="back">« Back to the index</a><br />
 
 </div>
 
 </body>
 </html>
 
 |