Re: [PHP Template] Re:comments on the template engine example document
[email protected] (Andrei Zmievski) Thu, 23 Mar 2000 10:49:48 -0600
| Newsgroups | php.template |
|---|---|
| Message-ID | <[email protected]> |
On Thu, 23 Mar 2000, jm wrote:
> First, would it be possible to use
> <!-- tplrem here a template comment -->
> so that a WYSIWIG tool for working on the template does get confused about it,
> and don't mess the whole layout ?
>
> Same remark does also apply to the {section} keyword.
Yes, you can use either { and } as delimiters, or <!-- { and } -->. So
you could do:
<!-- {* comment *} -->
<!-- { section name="blah" }-->
> Another BIG thing is:
> Can section be named ? so more than one can be used in the same template
Of course. It's even possible for several sections to have the same
name.
> What I would usually do is use the same template for the 3 cases,
> using 3 sections
>
>
> <table>
> <!-- section name="no_data" -->
> <tr><td> No data please try again <td></tr>
> <!-- section end -->
> <!-- section name="one_record" -->
> <tr><td> Welcome {$name} here is your password {$pwd} <td></tr>
> <!-- section end -->
> <!-- section name="choose_record" -->
> <tr><td> There is more than one person fitting your criteria, please choose
> one </td></tr>
> <!-- section name="people_record" -->
> <tr><td> <a href="whatever.php?id={$id}">{$name}</a></td></tr>
> <!-- section end -->
> <tr><td> table footnote if you want <td></tr>
> <!-- section end -->
> </table>
>
> And in the php code, you basically activate one of the three main section.
> That is the way we do use templates, and keep logic in the code...
> templ("no_data").activate
>
> By default the template engine does clear all section NOT activated.
This is already possible in the current specification. You can use
tmpl_show_section() function to control the display of sections. I just
need to figure out how to do it inside another section loop..
> One stuff that might be useful is some kind of "scope" for the variables,
> in order to tell in what loop section it does belongs...
What do you mean?
> Using multiple sections allow to keep all the logic in the php code, have
> just one file for all the cases and give as much freedom as possible to the
> designers
> (and yes, sometimes the designers gave feedback or requirement for the
> design and the template and the logic are changed)
>
> I hope my example was clear...
> I found that quite powerful and therefore my rejection of "logic" stuff
> directly in the template.
Like I said, the engine is pretty flexible. You can do your conditionals
using sections controlled from PHP script or you can do an occasional
'if'.
> Another thing you might want to consider is that
> not all people are native english speaker and a
> {section}
> {alternate}
> {/section}
> is as complicated for them as some php code.
Well, {alternate} is about the best I could come up with. If you have a
better suggestion, please let us know.
-Andrei
* Black holes are where God divided by zero. *