I agree mostly with that sentiment. However, I have found myself putting display oriented variables in my perl code lately.
For example, with HT, I would need to do a ...
# In the perl
$template->param(SHOULD_I_DISPLAY_THIS => ($foo + $bar) > 2);
-------
<!-- In the template -->
<TMPL_IF SHOULD_I_DISPLAY_THIS>this</TMPL_IF>
With HTE, I could use...
<TMPL_IF EXPR="(FOO + BAR) > 2">this</TMPL_IF>
It leaves the display decisions in the hands of the interface / html coder, and the data collection to the perl program. It is hard (you mentioned not having a TMPL_ELSIF) to do an N (where N>2) way decision, or a decision based on the quantity of something.
Another example...
Without creating display variables in your perl code (x_gt_3, x_gt_5, ...), how would you change the style of something based on its value?
- Green if X < 3
- orange if 3 <= X < 5
- red if 5 <= X
As I said above, I typically don't like using HTE, but I am running into more instances where it could prove to be useful, and would remove some of the variables controling display from my perl code.
|