logo       

Choosing A Webhost:
A web hosting service is a type of Internet hosting service that allows individuals and organizations to provide their own website accessible via the World Wide Web. Web hosts are companies that provide space on a server they own for use by their clients as well as providing Internet connectivity, typically in a data center. Web hosts can also provide data center space and connectivity to the Internet for servers they do not own to be located in their data center, called colocation. more...

Re: Re: H::T future: msg#00042

lang.perl.modules.html-template

Subject: Re: Re: H::T future

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


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
krysalis.sandbo...    web.zope.zwiki/...    gnome.apps.gnum...    xfree86.newbie/...    editors.vim/200...    mozilla.enigmai...    boot-loaders.gr...    network.vnc.ult...    redhat.release....    java.geronimo.u...    os.netbsd.devel...    horde.wicked/20...    linux.lsb.discu...    ietf.ips/2005-0...    alsa.devel/2002...    user-groups.lin...    package-managem...    debian.devel.da...    security.cyrus....    video.gstreamer...   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe

Navigation