On Fri, 20 Feb 2004, Mathew Robertson wrote:

> I often find myself generating template code such as:
>
> <TMPL_UNLESS error>
>     <TMPL_UNLESS print>
>         <TMPL_IF some_var>
>             .... do something...
>         </TMPL_IF>
>     </TMPL_UNLESS>
> </TMPL_UNLESS>

When I see stuff like that I go into my Perl code and whip up
something like:

  <tmpl_if no_error_and_no_print>
    ... do something ...
  </tmpl_if>

  <tmpl_if no_error>
    ... do something else ...

  <tmpl_if error>
    ... do something else entirely ...
  </tmpl_if>

That way the template stays simple and I concentrate the complex logic
in the Perl code where it belongs.  If possible I try to find a way to
phrase each condition that doesn't involve boolean logic, which few
non-programmers fully understand.

> The equivalent using H::T::E would be:
>
> <TMPL_UNLESS EXPR="((defined error) or (defined print)) and ....">
>     ... do something...
> </TMPL_UNLESS>

You can write that a little simpler:

  <TMPL_UNLESS EXPR="((error or print) and ...)">

> both syntax's are reasonably ugly...

Beauty is in the eye of the beholder...

> What about a syntax like:
>
> <TMPL_IF !error,!print,some_var>

...which is proven by the fact that I find this much uglier than
either of the two alternatives!

-sam


-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
Html-template-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/html-template-users

Reply via email to