Активные ссылки в header_top.tpl
Знаю, что вопрос уже неоднократно задавался. Но меня интересует не как реализовать, а причина странного поведения меню.
Вот код моего меню:
Классы называется по разному, потому что у каждого пункта меню своё оформление. К проблеме это отношение не имеет, ибо даже со стандартным «active» она проявляется. Собственно сабж: Почему при выборе пункта меню, например:
остается все равно активным? вроде все делал, глядя на топики на сайте, но ситуация вот такая…
вопрос все таки был решен самостоятельно, но спасибо Frankenstein за то что откликнулся, собственно, рабочий пример, добавляем условия к главной ссылке 'blog' и получаем:
Вот код моего меню:
<ul class="nav-main">
<li {if $sMenuHeadItemSelect=='blog'}class="activerup" {else}class="rup"{/if}><a href="{router page='blog'}">{$aLang.blogs}</a></li>
<li {if $sMenuHeadItemSelect=='people'}class="activeuch" {else}class="uch"{/if}><a href="{router page='people'}">{$aLang.people}</a></li>
<li {if $sAction=='blog' and $sEvent=='for_narod'}class="activeglas" {else}class="glas"{/if}><a href="{router page='blog/for_narod'}" >{$aLang.for_narod}</a></li>
<li {if $sAction=='blog' and $sEvent=='narod_vlast'}class="activenar" {else}class="nar"{/if}><a href="{router page='blog/narod_vlast'}" >{$aLang.narod_vlast}</a></li>
<li {if $sAction=='blogs'}class="activeblog" {else}class="blog"{/if}><a href="{router page='blogs'}" >{$aLang.blogis}</a></li>
{hook run='main_menu'}
</ul>Классы называется по разному, потому что у каждого пункта меню своё оформление. К проблеме это отношение не имеет, ибо даже со стандартным «active» она проявляется. Собственно сабж: Почему при выборе пункта меню, например:
<li {if $sAction=='blogs'}class="activeblog" {else}class="blog"{/if}><a href="{router page='blogs'}" >{$aLang.blogis}</a></li>
у меня линк на главную страницу, то бишь:<li {if $sMenuHeadItemSelect=='blog'}class="activerup" {else}class="rup"{/if}><a href="{router page='blog'}">{$aLang.blogs}</a></li>остается все равно активным? вроде все делал, глядя на топики на сайте, но ситуация вот такая…
[update]
вопрос все таки был решен самостоятельно, но спасибо Frankenstein за то что откликнулся, собственно, рабочий пример, добавляем условия к главной ссылке 'blog' и получаем:
<ul class="nav-main">
<li {if $sMenuHeadItemSelect=='blog' AND $sEvent != 'for_narod' AND $sEvent != 'narod_vlast' AND $sAction != 'blogs'}class="activerup" {else}class="rup"{/if}><a href="{router page='blog'}">{$aLang.blogs}</a></li>
<li {if $sMenuHeadItemSelect=='people'}class="activeuch" {else}class="uch"{/if}><a href="{router page='people'}">{$aLang.people}</a></li>
<li {if $sEvent=='for_narod'}class="activeglas" {else}class="glas"{/if}><a href="{router page='blog/for_narod'}" >{$aLang.for_narod}</a></li>
<li {if $sEvent=='narod_vlast'}class="activenar" {else}class="nar"{/if}><a href="{router page='blog/narod_vlast'}" >{$aLang.narod_vlast}</a></li>
<li {if $sAction=='blogs'}class="activeblog" {else}class="blog"{/if}><a href="{router page='blogs'}" >{$aLang.blogis}</a></li>
{hook run='main_menu'}
</ul>
Как скрыть определенные блоги из блока "Блоги"?
11
Собственно сабж в заголовке. Подойдет любой вариант. Искал на сайте и ничего не нашел.
Примеры желательны. Заранее спасибо.
Открыть файл templates/skin/new-jquery/block.blogs_top.tpl и обернуть вывод условием. Получится что-то типа такого:
То есть выводятся те блоги, у которых url не равен testblog1 и testblog1.
По желанию можно добавить ещё блогов в условие или наоборот убрать.
Значение getUrl()!='testblog1' должно содержать только название блога, без всяких левых символов.
Так же не забываем чистить кэш после изменений
Примеры желательны. Заранее спасибо.
[UPDATE]
Спасибо пользователю bamboo , Вот его решение:Открыть файл templates/skin/new-jquery/block.blogs_top.tpl и обернуть вывод условием. Получится что-то типа такого:
<ul class="list">
{foreach from=$aBlogs item=oBlog}
{if $oBlog->getUrl()!='testblog1' || $oBlog->getUrl()!='testblog2'}
<li><div class="total">{$oBlog->getRating()}</div><a href="{router page='blog'}{$oBlog->getUrl()}/" class="stream-author {if $oBlog->getType()=='close'}close{/if}">{$oBlog->getTitle()|escape:'html'}</a></li>
{/if}
{/foreach}
</ul>
То есть выводятся те блоги, у которых url не равен testblog1 и testblog1.
По желанию можно добавить ещё блогов в условие или наоборот убрать.
Значение getUrl()!='testblog1' должно содержать только название блога, без всяких левых символов.
Так же не забываем чистить кэш после изменений