Dustin Frazier wrote:
I have a template that I use to create a two-column layout in a standard
way. The template looks something like:
<table>
<tr>
<td>
[% INCLUDE left %]
</td>
<td>
[% INCLUDE right %]
</td>
</tr>
</table>
(There's more to the real template to setup classes and styles to manage
column width, spacing, etc., and yes I know using CSS would be better
[for some definition of "better"]).
I then use the template like so:
[% WRAPPER two_columns %]
[% BLOCK left %]
stuff for left column
[% END %]
[% BLOCK right %]
stuff for right column
[% END %]
[% END %]
This works great until I try to use the two_columns template more than
once on a page. When I try that, the *last* instance of the 'left' and
'right' block is used in each use of the wrapper template.
Is there a better practice for accomplishing this kind of component-like
behavior each with multiple content blocks?
Dustin,
Maybe something like this:
[% BLOCK left1 %]
stuff for left column
[% END %]
[% BLOCK right1 %]
stuff for right column
[% END %]
[% PROCESS two_columns left = 'left1' right='right1' %]
(Your includes would be something like: [% INCLUDE $left %]
Another way might be to do:
[% left = BLOCK %]
stuff for left column
[% END %]
[% right = BLOCK %]
stuff for right column
[% END %]
[% PROCESS two_columns %]
Then in two columns you'd do: [% left %] instead of [% INCLUDE left %]
-- Josh
_______________________________________________
templates mailing list
[email protected]
http://lists.template-toolkit.org/mailman/listinfo/templates