Выделение (class="active")

Решил сделать рядом с «кнопками» Блоги Люди две кнопки, непосредственно ведущие в два разных блога.

Как сделать выделение после нажатия? Куда добавлять новые $sMenuHeadItemSelect?

<ul class="nav-main">
                        <li {if $sMenuHeadItemSelect=='blog'}class="active"{/if}><a href="{router page='blogs'}">{$aLang.blogs}</a></li>
                        <li {if $sMenuHeadItemSelect =='blog/news'}class="active"{/if}><a href="{router page='blog/news'}">{$aLang.news}</a></li>
                        <li {if $sMenuHeadItemSelect =='blog/barakholka'}class="active"{/if}><a href="{router page='blog/barakholka'}">{$aLang.baraholka}</a></li>
                        <li {if $sMenuHeadItemSelect=='people'}class="active"{/if}><a href="{router page='people'}">{$aLang.people}</a></li>
                        {hook run='main_menu'}                
</ul>

12 комментариев

avatar
avatar
Спасибо, но это как то не очень помогло. Что мне делать с классом ActionIndex?
У меня кроме как БЛОГИ будет еще два пункта ведущие на blog/news и blog/barakholka.
avatar
Для статических страничек 2го уровня я вот использую это $oPage->getUrlFull()=='а тут путь типа about/yourpage'

Как сделать также?
avatar
{if $sEvent=='урл_блога'}class="active"{/if}
avatar
Спасибо заработало, но выделение с пункта БЛОГИ не пропадает. Как это обойти? Вообще у меня пункт БЛОГИ ведет на другую страницу, нежели изначально, ведет на site.com/blogs

в общем вот


<li {if $sMenuHeadItemSelect=='blog'}class="active"{/if}><a href="{router page='blogs'}">{$aLang.blogs}</a></li>
			<li {if $sEvent =='news'}class="active"{/if}><a href="{router page='blog/news'}">{$aLang.news}</a></li>
			<li {if $sEvent == 'barakholka'}class="active"{/if}><a href="{router page='blog/barakholka'}">{$aLang.baraholka}</a></li>
			<li {if $sMenuHeadItemSelect=='people'}class="active"{/if}><a href="{router page='people'}">{$aLang.people}</a></li>
avatar
где мне поменять $sMenuHeadItemSelect который на blog откликается?
avatar
добавил вот такое условие, работает
$sMenuHeadItemSelect=='blog' && $sEvent != 'news' && $sEvent != 'barakholka'
avatar
опередили немного :)
avatar
Мое решение:
<li {if $sMenuHeadItemSelect == 'blog' AND $sEvent != 'news' AND $sEvent != 'barakholka'}class="active"{/if}><a href="{router page='blogs'}">{$aLang.blogs}</a></li>
                        <li {if $sEvent == 'news'}class="active"{/if}><a href="{router page='blog'}/news">{$aLang.news}</a></li>
                        <li {if $sEvent == 'barakholka'}class="active"{/if}><a href="{router page='blog'}/barakholka">{$aLang.baraholka}</a></li>
                        <li {if $sMenuHeadItemSelect == 'people'}class="active"{/if}><a href="{router page='people'}">{$aLang.people}</a></li>

Должно работать.
avatar
Да, действительно работает!
avatar
А как сделать имея динамически url?
Вот пример кода:

		<ul>		
		{foreach from=$aPages item=oPage name=el2} 	
			<li><a href="{router page='page'}{$oPage->getUrlFull()}/">{$oPage->getTitle()}</a></li>
		{/foreach}
		</ul>


Код выводит все созданные статические странички. Хочу, чтоб они подсвечивались, когда евент соответствует странице. Пытаюсь, сделать что-то вида, добавляя в тег li, но ничего не происходит:

{if $sEvent=='{$oPage->getUrlFull()}'}class="active"{/if}
avatar
Разобрался…

Правильный код:

<ul>		
		{foreach from=$aPages item=oPage name=el2} 	
			<li {if $sEvent==$oPage->getUrlFull()}class="active"{/if}><a href="{router page='page'}{$oPage->getUrlFull()}/">{$oPage->getTitle()}</a></li>		
		{/foreach}
		</ul>
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.