[Petal] macro substitution?
Corey
corey_s at qwest.net
Thu Apr 6 01:03:58 BST 2006
Hello!
I'm new to petal - have a question regarding best-practices, specifically regarding
metal includes/macros.
In summary, I want to be able to dynamically utilize 'metal:use-macro', so that my
calling cgi can set a variable, which will be passed to a base/common petal template,
which will then use the intended macro, as defined/set in the aformentioned variable.
Say I have:
.../dir/foo.html
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<title>Foo</title>
</head>
<body metal:define-macro="body">
<p>FOO!</p>
</body>
</html>
and I also have a:
.../dir/bar.html
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<title>Bar</title>
</head>
<body metal:define-macro="body">
<p>BAR!</p>
</body>
</html>
finally, I have a:
.../index.html
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<title>Foo or Bar?</title>
</head>
<body metal:use-macro="dir/bar.html#body" petal:omit-tag="">
</body>
</html>
Here's the question:
What's the best/proper way of changing that use-macro include in 'index.html' to
dynamically decide on which macro to use - for instance if I have a variable defined,
say, $action, which is either 'foo.html' or 'bar.html'?
Basically, somthing along the lines of the following ( which doesn't work ):
<body metal:use-macro="dir/${action}#body" petal:omit-tag="">
Many thanks!
More information about the Petal
mailing list