Помогите с меню

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

Moderators: iturbay, wdwp

Post Reply
al77
New Member
New Member
Posts: 6
Joined: Thu Jan 13, 2011 10:16 am

Помогите с меню

Post by al77 »

Здравствуйте. К сожалению не дождался появления своего вопроса на форуме после модерации или не смог отослать.
В общем, не ругайте сильно - вот моя просьба.
Помогите создать шаблон меню из HTML

Code: Select all

          <ul>
            <li><a class="current a" href="#">&nbsp;Home&nbsp;</a></li>
            <li><a href="#" class="a">About Us</a></li>
            <li><a href="#" class="a">Rentals</a></li>
            <li><a href="#" class="a">Moving</a></li>
            <li><a href="#" class="a">Contact Us</a></li>
          </ul>
Попробовал сам, но к сожалению теряется стиль на неактивной вкладке, а именно class="a"
Причем class="current a" нормально отрабатывается. Уже и этой http://wiki.cmsmadesimple.org/index.php ... nu_Manager...ну не силен я к сожалению в smarty :-\

Использовал стандартный шаблон minimal_menu.tpl
...и вот что из моих правок вышло:

Code: Select all

{* CSS classes used in this template:
.currentpage - The active/current page
.bullet_sectionheader - To style section header
hr.separator - To style the ruler for the separator *} 
{if $count > 0}
<ul>
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string="<ul>" 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->current == true}
<li><a href="{$node->url}" class="current a"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{elseif $node->parent == true && $node->depth == 1 and $node->type != 'sectionheader' and $node->type != 'separator'}
<li> <a href="{$node->url}" class="a"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{elseif $node->type == 'sectionheader'}
<li>{$node->menutext}

{elseif $node->type == 'separator'}
<li> <hr class="separator" />

{else}
<li><a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{/if}

{/foreach}

{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}
al77
New Member
New Member
Posts: 6
Joined: Thu Jan 13, 2011 10:16 am

Помогите с меню

Post by al77 »

Все решил сам, не знаю верно ли, криво ли ;D
Думаю интересно будет:
код html

Code: Select all

        <div id="mainmenu">
          <ul>
            <li><a class="current a" href="http://www.free-css.com/">&nbsp;Home&nbsp;</a></li>
            <li><a href="subpage.html" class="a">About Us</a></li>
            <li><a href="http://www.free-css.com/" class="a">Rentals</a></li>
            <li><a href="http://www.free-css.com/" class="a">Moving</a></li>
            <li><a href="http://www.free-css.com/" class="a">Contact Us</a></li>
          </ul>
        </div>
шаблон меню:

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. *}

{assign var='number_of_levels' value=10000}
{if isset($menuparams.number_of_levels)}
  {assign var='number_of_levels' value=$menuparams.number_of_levels}
{/if}

{if $count > 0}

<ul>
{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}
  {assign var='classes' value='current a'}
  {if $node->parent == true}
    {assign var='classes' value='menuactive menuparent'}
  {/if}
  {if $node->children_exist == true and $node->depth < $number_of_levels}
    {assign var='classes' value='a'}
  {/if}
  <li><a class="{$classes}" 
{elseif $node->type == 'sectionheader' and $node->haschildren == true}
  <li><a class="a">{$node->menutext}</a>
{elseif $node->type == 'sectionheader'}
  <li><a >{$node->menutext}</a>
{elseif $node->type == 'separator'}
  <li style="list-style-type: none;"> <hr class="menu_separator" />
{elseif $node->children_exist == true and $node->depth < $number_of_levels and $node->type != 'sectionheader' and $node->type != 'separator'}
  <li><a class="a" 
{else}
  <li>
  <a class="a"
{/if}

{if ($node->type != 'sectionheader' and $node->type != 'separator') or $node->parent == true or $node->current == true }
 {if $node->target}target="{$node->target}" {/if}
href="{$node->url}">{$node->menutext}</a>
{/if}
{/foreach}
{repeat string='</li></ul>' times=$node->depth-1}
</li>
</ul>
<div class="clearb"></div>

{/if}


...вот... как то так...
а то много вопросов по форуму... а потом отписка, мол все решил сам...а вот как... не понятно :)
Post Reply

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