I have a class called FrontEnd which extends a TemplateManager class.
The purpose of the TemplateManager class is to initate Smarty.
So my FrontEnd constructor looks like this:
function FrontEnd()
{
$db = new DatabaseConnection();
$this->db = $db->initDatabase();
$this->sm = $this->initTemplate();
}
I have another function:
function DisplayMain($parentID)
{
if (!isset($parentID)) $parentID = '1';
$product = new Products($this->db, $this->sm);
$category = new Categories($this->db, $this->sm);
$category->FetchCategories($parentID);
$product->FetchProducts($parentID);
$this->DisplayPage('display-products');
}
I'm passing in an instance of the smarty object instantiated by the FrontEnd
constructor into Products and Categories. The FetchCategories and
FetchProducts methods will take the smarty instance and assign the variables
into the template, assuming it's the same instance of Smarty. The problem
I'm having is that it sees in each class a new instance of Smarty or a copy
of the object which when I call DisplayPage, a method within the FrontEnd
class, it doesn't see all of the variables I assigned earlier by
FetchProducts and FetchCategories even though I've not declared a new
instance of Smarty.
How can I fix it so that it uses the same Smarty object and not a copy?
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php