Как получить крошечный блок слияния с условием, работающим на пустое значение
Я использую 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.