From: "Chris de Vidal" <[EMAIL PROTECTED]>
> Kelly Hallman said:
> > Going even one step further (the beauty of Smarty: always another
level),
> > just extend the Smarty object itself. Then, instead of making all your
> > templates includes other templates (such as a header or a footer), you
can
> > make your overall page be a template, and the extended Smarty object can
> > be given extra functionality to control the page:
> >
> > {* MyPage.tpl -- Smarty template for the entire page *}
> > ...header...
> > {include file=$content}
> > ...footer...
> >
> > // mypage.php -- extended Smarty object
> > class MyPage extends Smarty {
> > var $tmpl = 'MyPage.tpl';
> > function render($x) {
> > $this->assign('content',$x);
> > $this->display($this->tmpl); } }
> >
> > // actualphpcode.php -- called by the browser
> > $pt = new MyPage;
> > $pt->render('pagecontent.tpl');
>
> Sorry, I'm feeling better now but still don't understand what you're
> telling me/us. Could you please expound? What functionality does this
> afford?
If I can take first shot, since this was posted to the list... :)
It's basically a wrapper around Smarty to automatically load the
header-content-footer template and dynamically fill in the content based on
what's passed to render. So, displaying all of your different pages would be
as simple as:
$pt = new MyPage;
$pt->render('contact.tpl');
$pt ->render('prices.tpl');
$pt->render('index.tpl');
etc... The "wrapper" automatically loads the "master" template with the
header and footer, and then replaces the {content} tag with the content of
the appropriate template that render() was passed.
Just one method of many. If I'm interpreting it right, that is. :)
---John Holmes...
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php