如何获得条件为空值的tinybutstrong mergeblock

How to get tinybutstrong mergeblock with condition working for empty value

我正在使用 tinybutstrong 作为模板引擎。

我正在尝试让活动 link 以不同的颜色显示。

以下是我的(删减)PHP 方面:

$links = array (
    '' => 'Home',
    'about' => 'About Us',
    'faq' => 'FAQ',
    'contact' => 'Contact Us',
);
$uri = substr($_SERVER['REQUEST_URI'], 1);
$TBS->MergeBlock('blkLinks', 'array', $links);

Html 模板:

<ul>
    <li><a href="/[blkLinks.$;block=li]" style="[onshow;if [onload.uri]=[blkLinks.$]; then 'color:#86AD6D;']">[blkLinks.val;]</a></li>
</ul>

虽然它可以很好地生成 html 并在该页面当前处于活动状态时很好地更改 link 的颜色,但这不适用于空 (/) link .

我该如何解决?

简单替换条件

[onload.uri]=[blkLinks.$]

'[onload.uri]'='[blkLinks.$]'

重点是,当 [onload.uri] 是空字符串时,表达式可能有歧义。使用字符串定界符,表达式对于 TBS 是清楚的。