The Smarty design template file (products_list.tpl) contains the layout to be
used when displaying products, and its presentation object file (presentation/products_list.php) gets the
correct list of products to display.
The constructor in products_list.php (the ProductsList class) creates a new instance of the business tier
object (Catalog) and retrieves DepartmentId, CategoryId, and Page from the query string, casting them to
int as a security measure. These values are used to decide which products to display:
// Class constructor
public function __construct()
{
// Get DepartmentId from query string casting it to int
if (isset ($_GET['DepartmentId']))
$this->_mDepartmentId = (int)$_GET['DepartmentId'];
// Get CategoryId from query string casting it to int
if (isset ($_GET['CategoryId']))
$this->_mCategoryId = (int)$_GET['CategoryId'];
// Get Page number from query string casting it to int
if (isset ($_GET['Page']))
$this->mPage = (int)$_GET['Page'];
if ($this->mPage < 1)
trigger_error('Incorrect Page value');
}
The init() method, which continues the constructor??™s job, starts by retrieving the requested list of products. It
decides what method of the business tier to call by analyzing the $_mCategoryId and $_mDepartmentId
members (which, thanks to the constructor, represent the values of the CategoryId and DepartmentId query
string parameters).
Pages:
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263