| 
<?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 pagination box Example</h1>
 
 This is a native standard box:<br />
 It has 2 functions:<br />
 1. Calculate the index and quantity of elements to get from the original data (in sight to make a query with limits)<br />
 2. Calculate the pagination template based on the first data.<br />
 The box gets one input, the quantity of elements of the original data.<br />
 The parameters for pagination are:<br />
 - MAXPERPAGE: quantity of elements per page.
 The output gives us the quantity of product in our category.<br />
 The box simulates a database with 2 product categories:<br />
 - 'main', with 5 products,<br />
 - 'other', with 3 products.<br />
 <br />
 
 -----<br />
 |   |<br />
 -----<br />
 
 <hr />
 
 We simulate the parameter CATEGORY comes from the URL with value 'main'.<br />
 Result of the box:
 
 <?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(
 'productpage' => array(
 'name' => 'paginationBox',
 'params' => array(
 $this->addParam('VARPAGE', Box::STRING, 'page');
 $this->addParam('DEFAULTPAGE', Box::INTEGER, 1);
 $this->addParam('VARMAXPERPAGE', Box::STRING, '');
 $this->addParam('MAXPERPAGE', Box::INTEGER, null);
 $this->addParam('PAGENUMLEFT', Box::INTEGER, 1);
 $this->addParam('PAGENUMCENTER', Box::INTEGER, 1);
 $this->addParam('PAGENUMRIGHT', Box::INTEGER, 1);
 
 
 'CATEGORY' => array('source' => 'inline', 'data' => 'main')
 ),
 'inputs' => array(
 $this->addInput('quantity', Box::INTEGER);
 $this->addInput('language', Box::LANGUAGE);
 $this->addInput('template', Box::TEMPLATE);
 
 ),
 'outputs' => array(
 $this->addOutput('min', Box::INTEGER);
 $this->addOutput('num', Box::INTEGER);
 $this->addOutput('template', Box::TEMPLATE);
 'quantity' => Box::INTEGER
 )
 )
 ),
 'output' => array('box' => 'productpage', 'output' => '')
 );
 
 $be = new boxEngine($boxdef, $category);
 $result = $be->getOutput();
 print $result;
 
 ?>
 
 <br />
 <br />
 <br />
 <br />
 
 <a href="../index.html" class="back">« Back to the index</a><br />
 
 </div>
 
 </body>
 </html>
 
 |