Как получить крошечный блок слияния с условием, работающим на пустое значение

Я использую tinybutstrong в качестве шаблонного движка.

Я пытаюсь заставить активную ссылку отображаться другим цветом.

Вот моя (урезанная) сторона 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-файл и хорошо меняет цвет ссылок, когда эта страница активна в настоящее время, это не работает для пустой (/) ссылки.

Как я могу это исправить?

1 ответ

Решение

Просто замени условие

[onload.uri]=[blkLinks.$]

с

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

Дело в том, что когда [onload.uri] является пустой строкой, то выражение может быть неоднозначным. Используя строковые разделители, выражение ясно для TBS.

Другие вопросы по тегам