合并块中的条件显示

Conditional display within a merged block

我正在尝试让条件显示正常工作。我正在尝试做的是:

在已合并的块中,如果值为空,我想显示一个输入框以及我需要随身携带的其他一些隐藏变量,但如果该值不为空,我希望只需显示该值。

PHP

$cks . . some query;
$TBS->LoadTemplate("check.html") ;
$TBS->MergeBlock("cks",$cks);
$TBS->Show(TBS_NOTHING); echo($TBS->Source);

模板部分

<td width="25%" class="mod_row2">[cks.check1]</td>
<td width="25%" class="mod_row2">
[cks.value;ifempty=
<input type="text" name="value[]" value="" size="26">
<input type=hidden name="check_id[]" value="[cks.check_id]">
<input type=hidden name="equip_id[]" value="[cks.equip_id]">
]</td> "

除隐藏单元格的值未合并外,一切正常。我不知道这样做是否正确或是否可行。 . . TBS 3.8.0, php 5.3.3

谢谢

彼得

您带有 <input> 的 HTML 部分未被解析,因为它嵌入在 TBS 参数 (ifempty) 中。

在 TBS 字段中嵌入 HTML/XML 不是一个好习惯。

最好的方法是使用带块的条件显示。 magnet 特性很适合这个。 给你的例子:

<td width="25%" class="mod_row2">[cks.check1]</td>
<td width="25%" class="mod_row2">
    <div>
        [cks.value;ope=mok:;magnet=div]
        <input type="text" name="value[]" value="" size="26">
        <input type=hidden name="check_id[]" value="[cks.check_id]">
        <input type=hidden name="equip_id[]" value="[cks.equip_id]">
    </div>
</td>

本例中参数ope=mok:表示如果值为空字符串('')则显示该块,其他情况则删除