Karen J. Cravens wrote:

On Tue, 9 Dec 2003, Puneet Kishor wrote:

PK>I achieve consistent look and feel via css. I achieve consistent layout
PK>via H::T.

I use CSS as well, but that doesn't change how the title gets handled.
Perhaps if you could give an example of how you build the headers, it
might be clearer to us.



well, now that you put it that way, I feel I might be the one who is not really understanding what you all are saying, and hence, am perhaps barking tangentially ;-).

Anyway, here are a couple of examples (there might be typos, but should be sufficient for explanation purpose). Does this make sense? Btw, I prefer Setup 1 over Setup 2 because designer types can actually visualize different pages and the entire site layout -- even more easily if they are using Golive or Dreamweaver or somesuch.


======================================================================== Setup 1. Using separate templates for each page ======================================================================== .. my $act = !defined(param('act')) ? 'welcome' : scalar(param('act'));

# Invoke template based on act. There are separate templates for
# each page. The templates are stored in a separate directory so
# "designer" types can work on them without worrying the scripts.
my $template = HTML::Template->new(filename => "$act.tmpl");

$template->param('content'=>&content($act), 'title'=>&title($act));
..

--------------------------------------------------------------------
meantime, in the templates (this one is called "welcome.tmpl")
--------------------------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <head>
    <title><tmpl_var title></title>
    <link rel="stylesheet" type="text/css" href="../myapp.css">
  </head>
  <body>
  <div class="content"><tmpl_var content></div>
  </body>
</html>

======================================================================
Setup 2. Using one template for all the pages
======================================================================
..
my $act = !defined(param('act')) ? 'welcome' : scalar(param('act'));

# Invoke template. A single template for the entire app, but the
# header and footer can be changed based on act. The templates are
# stored in a separate directory so "designer" types can work on
# them without worrying the scripts.
my $template = HTML::Template->new(filename => 'index.tmpl');

$template->param('content'=>&content($act), 'title'=>&title($act));
..

--------------------------------------------------------------------
meantime, in the templates
--------------------------------------------------------------------
header.tmpl
--------------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <head>
    <title><tmpl_var title></title>
    <link rel="stylesheet" type="text/css" href="../myapp.css">
  </head>
  <body>

--------------------------------------------------------------------
index.tmpl
--------------------------------------------------------------------
<tmpl_include header.tmpl>
<div class="content"><tmpl_var content></div>
<tmpl_include footer.tmpl>

--------------------------------------------------------------------
footer.tmpl
--------------------------------------------------------------------
  <hr>
  another app served by the wonders of Perl and HTML::Template
  </body>
</html>



-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
_______________________________________________
Html-template-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/html-template-users

Reply via email to