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