Re: Philosophy Friday
Joe Stewart <[email protected]> Thu, 10 Apr 2003 14:11:09 -0500
| Newsgroups | gmane.comp.cms.phpslash.devel |
|---|---|
| Message-ID | <[email protected]> |
On Fri, Apr 04, 2003 at 10:26:00AM -0600, Joe Stewart wrote:
>
> CSS only themes have a problem using a common footer template with two
> and three column output. Evidently the designers of CSS layout didn't
> really make it useful for having a consistent way to have footers with
> different layouts. It is possible to put a {FOOTER} tag in the
> index page to be able to set the location of the footer. I did find a
> way to check if the {FOOTER} placeholder is used and if not echo
> the output at the end as usual. Does this sound useful or too much
> overhead?
>
Okay this was hard to explain. In short - the index pages can have
{HEADER} and {FOOTER} placeholders.
The pertinent parts of the index page look like this:
...skip...
// get page header and footer
$header = getHeader($pagetitle,$_PSL['metatags']);
$footer = getFooter();
...skip...
// parse these template variables for display.
$template->set_var(array(
'HEADER' => $header,
'FOOTER' => $footer,
...skip...
// add page output to be displayed
$output .= $template->parse('OUT','index');
// add header if not parsed above in index page template
if( !$template->is_available('index','HEADER')) {
$output = $header . $output;
}
// add footer if not parsed above in index page template
if( !$template->is_available('index','FOOTER')) {
$output .= $footer;
}
// display the page
echo $output;
The template::is_available method is this:
function is_available($var, $placeholder) {
$status = false;
$str = ' '.$this->get_var($var);
if( strpos($str,"{".$placeholder."}") > 1) {
//found
$status = true;
}
return $status;
}
Joe
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger
for complex code. Debugging C/C++ programs can leave you feeling lost and
disoriented. TotalView can help you find your way. Available on major UNIX
and Linux platforms. Try it free. www.etnus.com