Модуль news и меню.

Обсуждение CMS Made Simple в России.

Moderators: iturbay, wdwp

Post Reply
Delfi
Forum Members
Forum Members
Posts: 21
Joined: Sun Nov 08, 2009 2:23 pm

Модуль news и меню.

Post by Delfi »

Есть два стиля меню, если раздел активен и если нет.

Скажем открыли мы раздел Партнеры и в главном меню он выделился другим цветом.
Проблема такая, что при нажатии кнопки подробнее в новостях, то это выделение с новостей слетает, как будто выбран раздел, которого нет в списке меню.
Как это можно решить? Каким образом вообще работает алгоритм, который меняет стиль раздела меню?

Заранее спасибо...
kentastik
Forum Members
Forum Members
Posts: 22
Joined: Fri Nov 20, 2009 8:54 am

Re: Модуль news и меню.

Post by kentastik »

так ведь действительно выбран раздел которого нет в меню, поэтому и не показывает, у вас же не стоит каждая новость в меню. помоему логично. неужели так критичен цвет кнопки?
Delfi
Forum Members
Forum Members
Posts: 21
Joined: Sun Nov 08, 2009 2:23 pm

Re: Модуль news и меню.

Post by Delfi »

Там не совсем цвет, я для примера привел. Там подчеркивание. Сайт переделываю, поэтому должен быть идентичен, плюс пользователи должны знать, где находятся. Скажем если они отвлеклись и через час придут, то не будут вспоминать где и куда нажимали.
Можно было скажем бы определять по адресной строке. В целом хотелось бы понять механизм. Может быть как то можно в шаблоне чего сделать, добавить какой тег или еще чего?
Delfi
Forum Members
Forum Members
Posts: 21
Joined: Sun Nov 08, 2009 2:23 pm

Re: Модуль news и меню.

Post by Delfi »

Спасибо за ответ. Я частично понимаю данное условие, но применить так и не получилось.
Меня вообще поражает логика, вот как понять в шаблоне

haschildren == true or $node->parent == true}


Вот куда скажем делся закрывающий тег, что значит данное условие?


Вот весь код

Code: Select all

{* CSS classes used in this template:
#menuwrapper - The id for the <div> that the menu is wrapped in. Sets the width, background etc. for the menu.
#primary-nav - The id for the <ul>
.menuparent - The class for each <li> that has children.
.menuactive - The class for each <li> that is active or is a parent (on any level) of a child that is active. *}
{if $count > 0}
<div id="menuwrapper">
<ul id="menu" class="menu">
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string='<ul class="unli">' times=$node->depth-$node->prevdepth}
{elseif $node->depth < $node->prevdepth}
{repeat string='</li></ul>' times=$node->prevdepth-$node->depth}
</li>
{elseif $node->index > 0}</li>
{/if}
{if $node->parent == true or ($node->current == true and $node->haschildren == true)}
<li class="menuactive menuparent">
<a {elseif $node->current == true}
<li class="menuactive">
<a  class="selected " {elseif $node->haschildren == true or $node->parent == true}
<li class="menuparent">
<a class="menuparent" {elseif $node->type == 'sectionheader' and $node->haschildren == true}
<li class="sectionheader">
<span class="sectionheader">{$node->menutext}</span>{elseif $node->type == 'separator'}
<li style="list-style-type: none;"> <hr class="menu_separator" />{else}
<li>
<a {/if}
{if $node->type != 'sectionheader' and $node->type != 'separator'}
{if $node->target}target="{$node->target}" {/if}
href="{$node->url}"><span>{$node->menutext}</span></a>
{elseif $node->type == 'sectionheader'}
><span class="sectionheader">{$node->menutext}</span></a>
{/if}
{/foreach}
{repeat string='</li></ul>' times=$node->depth-1}
</li>
</ul>
<div class="clearb"></div>
</div>
{/if}

Очень надеюсь на помощь..
Delfi
Forum Members
Forum Members
Posts: 21
Joined: Sun Nov 08, 2009 2:23 pm

Re: Модуль news и меню.

Post by Delfi »

Разделил по строкам и разобрался в логике, но..
добавив

{elseif $node->current == true or  $node->parent == true}


/postid//, может из-за этого еще проблемы?
Delfi
Forum Members
Forum Members
Posts: 21
Joined: Sun Nov 08, 2009 2:23 pm

Re: Модуль news и меню.

Post by Delfi »

sdelfi.ru
У меня тоже один уровень, так что сейчас опробую...

Code: Select all

<div id="menuwrapper">
<ul id="menu" class="menu">
{foreach from=$nodelist item=node}
{if $node->current == true or  $node->parent == true}
<li class="menuactive"><a class="selected"><span>{$node->menutext}</span></a></li>
{else}
<li class="menuactive"><a href="{$node->url}" >{$node->menutext}</a></li>
{/if}
{/foreach}
</ul>
</div>
Сделал так. Т.е. просто стили поменял, но логика та же.

Не сработало. Если зайти в подробное новости, то не выделяет. Плюс ссылка новости активна, т.е. не попадает под условие {if $node->current == true or  $node->parent == true}
Last edited by Delfi on Sat Dec 05, 2009 9:48 pm, edited 1 time in total.
Delfi
Forum Members
Forum Members
Posts: 21
Joined: Sun Nov 08, 2009 2:23 pm

Re: Модуль news и меню.

Post by Delfi »

Хм, опять не работает.
Единственное, я когда менял ссылку на подробные новости, то много изменений делал в самом модуле, может это повлияло?
Post Reply

Return to “Russian - русский”