| 
<?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>Box Model Demos, a WebAbility® Network Project</title>
 <meta http-equiv="PRAGMA" content="NO-CACHE" />
 <meta http-equiv="Expires" content="-1" />
 
 <meta name="Keywords" content="Box Model, Pattern, 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/boxmodel.css" type="text/css" />
 
 </head>
 <body>
 
 <div class="container">
 
 <a href="../index.html" class="back">« Back to the index</a><br />
 <br />
 
 <h1>Product Catalog Example</h1>
 This example uses a box flow hard coded in the code (the array is explicit) and the parameters are directly set and red within the PHP code too.<br />
 The same example using an XML box definition and an extra box to read the parameters can be found <a href="productauto.php">here</a><br />
 <br />
 <b>The template is bootstrap-like so it is extremely easy to integrate into any responsive design you may want to use.</b><br />
 <br />
 
 Matrix:<br />
 <form method="get" action="">
 Max per page:<select name="maxperpage"><option value="1">1</option><option value="2">2</option><option value="3" selected="selected">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option></select><br />
 Category:<select name="category"><option value="main">Main</option><option value="other">Other</option></select><br />
 <input type="submit" value="Ver" />
 </form>
 
 <?php
 
 // We assure any Box library we call will be automatically loaded
 include_once '../include/__autoload.lib';
 
 setlocale(LC_ALL, 'es_MX.UTF8');
 date_default_timezone_set('America/Mexico_City');
 
 define('WADEBUG', false);
 WADebug::setLevel(WADebug::SYSTEM);
 
 $boxdef = array(
 'boxes' => array(
 'productcount' => array(
 'box' => 'productcountBox',
 'inputs' => array(
 'CATEGORY' => array('from' => 'inputs', 'data' => 'CATEGORY')
 )
 ),
 'productpages' => array(
 'box' => 'paginationBox',
 'inputs' => array(
 'PAGE' => array('from' => 'inputs', 'data' => 'PAGE'),
 'VARPAGE' => array('from' => 'inputs', 'data' => 'VARPAGE'),
 'DEFAULTPAGE' => array('from' => 'inputs', 'data' => 'DEFAULTPAGE'),
 'VARMAXPERPAGE' => array('from' => 'inputs', 'data' => 'VARMAXPERPAGE'),
 'MAXPERPAGE' => array('from' => 'inputs', 'data' => 'MAXPERPAGE'),
 'PAGENUMLEFT' => array('from' => 'inputs', 'data' => 'PAGENUMLEFT'),
 'PAGENUMCENTER' => array('from' => 'inputs', 'data' => 'PAGENUMCENTER'),
 'PAGENUMRIGHT' => array('from' => 'inputs', 'data' => 'PAGENUMRIGHT'),
 'quantity' => array('from' => 'productcount', 'data' => 'quantity'),
 'language' => array('from' => 'inputs', 'data' => 'productpages.language'),
 'template' => array('from' => 'inputs', 'data' => 'productpages.template')
 )
 ),
 'productquery' => array(
 'box' => 'productqueryBox',
 'inputs' => array(
 'CATEGORY' => array('from' => 'inputs', 'data' => 'CATEGORY'),
 'min' => array('from' => 'productpages', 'data' => 'min'),
 'num' => array('from' => 'productpages', 'data' => 'num')
 ),
 ),
 'productloop' => array(
 'box' => 'templateloopBox',
 'inputs' => array(
 'SELECTED' => array('from' => 'inputs', 'data' => 'SELECTED'),
 'list' => array('from' => 'productquery', 'data' => 'list'),
 'language' => array('from' => 'inputs', 'data' => 'productloop.language'),
 'template' => array('from' => 'inputs', 'data' => 'productloop.template')
 ),
 ),
 'productmatrix' => array(
 'box' => 'matrixBox',
 'inputs' => array(
 'ORIENTATION' => array('from' => 'inputs', 'data' => 'ORIENTATION'),
 'NUMCELL' => array('from' => 'inputs', 'data' => 'NUMCELL'),
 'NUMMAX' => array('from' => 'inputs', 'data' => 'MAXPERPAGE'),
 'list' => array('from' => 'productloop', 'data' => 'list'),
 'language' => array('from' => 'inputs', 'data' => 'productmatrix.language'),
 'template' => array('from' => 'inputs', 'data' => 'productmatrix.template')
 ),
 ),
 'producttemplate' => array(
 'box' => 'templateBox',
 'inputs' => array(
 'elements' => array('from' => 'integrator', 'data' => array(
 '__MATRIX__' => array('from' => 'productmatrix', 'data' => 'template'),
 '__PAGINATION__' => array('from' => 'productpages', 'data' => 'template'),
 '__PAGECATALOG__' => array('from' => 'inputs', 'data' => 'PAGECATALOG'),
 '__PAGEPRODUCT__' => array('from' => 'inputs', 'data' => 'PAGEPRODUCT'),
 '__PAGECART__' => array('from' => 'inputs', 'data' => 'PAGECART'),
 '__VARMAXPERPAGE__' => array('from' => 'inputs', 'data' => 'VARMAXPERPAGE'),
 '__VARCATEGORY__' => array('from' => 'inputs', 'data' => 'VARCATEGORY'),
 '__CATEGORY__' => array('from' => 'inputs', 'data' => 'CATEGORY'),
 '__VARPRODUCT__' => array('from' => 'inputs', 'data' => 'VARPRODUCT'),
 )),
 'language' => array('from' => 'inputs', 'data' => 'producttemplate.language'),
 'template' => array('from' => 'inputs', 'data' => 'producttemplate.template')
 )
 ),
 ),
 'outputs' => array(
 'result' => array('from' => 'producttemplate', 'data' => 'template'),
 'result1' => array('from' => 'productcount', 'data' => 'quantity'),
 'result11' => array('from' => 'productpages', 'data' => 'num'),
 'result12' => array('from' => 'productpages', 'data' => 'min'),
 'result13' => array('from' => 'productpages', 'data' => 'template'),
 'result21' => array('from' => 'productquery', 'data' => 'list'),
 'result31' => array('from' => 'productloop', 'data' => 'list'),
 'result41' => array('from' => 'productmatrix', 'data' => 'template')
 )
 );
 
 $maxperpage = $_GET['maxperpage'];
 if (!$maxperpage)
 $maxperpage = 3;
 
 $eb = new engineBox($boxdef);
 $eb->setInputs( array(
 'CATEGORY' => $_GET['category'],
 'PAGE' => $_GET['page'],
 'VARPAGE' => 'page',
 'DEFAULTPAGE' => 1,
 'VARMAXPERPAGE' => 'maxperpage',
 'MAXPERPAGE' => $maxperpage,
 'PAGENUMLEFT' => 2,
 'PAGENUMCENTER' => 2,
 'PAGENUMRIGHT' => 2,
 'SELECTED' => null,
 'ORIENTATION' => 'HORIZONTAL',
 'NUMCELL' => 2,
 'PAGECATALOG' => 'product.php',
 'PAGEPRODUCT' => 'product.php',
 'PAGECART' => 'product.php',
 'VARCATEGORY' => 'category',
 'VARPRODUCT' => 'product',
 ));
 $eb->setInputData('productpages.language', './pagination.en.xml');
 $eb->setInputData('productpages.template', './pagination.template');
 $eb->setInputData('productloop.language', './product.en.xml');
 $eb->setInputData('productloop.template', './product.template');
 $eb->setInputData('productmatrix.language', './matrix.en.xml');
 $eb->setInputData('productmatrix.template', './matrix.template');
 $eb->setInputData('producttemplate.language', './productpage.en.xml');
 $eb->setInputData('producttemplate.template', './productpage.template');
 
 print $eb->getOutputData('result');
 
 ?>
 
 <br />
 <br />
 <br />
 <br />
 
 <a href="../index.html" class="back">« Back to the index</a><br />
 
 </div>
 
 </body>
 </html>
 
 |