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

Reply via email to