I'm looking for a simple template with "optional" fields

I'm looking for a simple template with the following property: I want
to have in the resulting page something like this (say):

<div>
This is some text that never changes:
[[[$this is some variable that can be set from the calling PHP
code]]]
This is some more text that never changes
</div>

The crux is that if the calling code never initializes the variable,
then I want the entire <div> not to be displayed.

The use-case that I see is this: I have a program that mostly needs to
display long(ish) lists to the clients, but the lists can be
customized. Sometime I want to display the first five columns for each
row, sometime the last four columns, other times only the odd-numbered
columns, etc.

What I want, is to have only the following in my PHP code:

$qry = "SELECT [[[whatever fields I'm interested in]]] FROM mytable
WHERE...";
$res = db_query($qry);
while ($row = db_fetch_assoc($res)) {
$template->add_params($row);
$template->print();
}

In the template I will have something like this:

{<td>[[[$col1-name]]]</td>}
{<td>[[[$col2-name]]]</td>}
....

and only the <td>'s whose column is actually included in $row will be
displayed.

It seems quite trivial to write such a template (I really don't need
much logic there at all), probably a week worth of work. But it will
be even better if I can just use something out there instead.

Thanks,

-- Shai
Shai Halevi [ Fr, 18 Januar 2008 04:13 ] [ ID #1911488 ]
PHP » comp.lang.php » I'm looking for a simple template with "optional" fields

Vorheriges Thema: Wiki pages
Nächstes Thema: PHP & AJAX