[spoiler]grandius
Пользователь
Помогите сделать меню
Вот
http://velodoktor.com.ua/ увидел интересное меню. Как можно сделать такое меню, интересует именно эффект когда перейдя в какой-то раздел, например Новости или Контакты, раздел остался подсвеченым. Хотелось бы использовать его в SSF Lego.
Отредактированно grandius (2010-06-17 16:54)
Неактивен
Сообщить модератору |
Цитировать
#2 2010-06-18 02:07
mihbel
Пользователь
Re: Помогите сделать меню
Тут либо в коде проверять по условию и ставить класс "active", либо яваскриптом. А потом описать этот класс в css.
Редактор BB-Code для Форума WebAssyst
Магазины клиентов хостятся у HostPro - За скидками в приват
Неактивен
Сообщить модератору |
Цитировать
#3 2010-06-18 05:31
grandius
Пользователь
Re: Помогите сделать меню
mihbel написал:
Тут либо в коде проверять по условию и ставить класс "active", либо яваскриптом. А потом описать этот класс в css.
как правильно задать условие проверки?
Неактивен
Сообщить модератору |
Цитировать
#4 2010-06-18 06:08
alex2read
Пользователь
Re: Помогите сделать меню
grandius написал:
mihbel написал:
Тут либо в коде проверять по условию и ставить класс "active", либо яваскриптом. А потом описать этот класс в css.
как правильно задать условие проверки?
кажется так
Код:
{section name=i loop=$root_categories}
{if $smarty.section.i.index is div by 2}{/if}
{if $root_categories
[3] ne ""}{/if}
<li><b>{$root_categories[1]}</b><ul>
{* show sub categories *}
{assign var="tmp" value=0}
{section name=j loop=$root_categories_subs}
{if $root_categories_subs[j][3] == $root_categories[0]}
{if $tmp == 1}
{else}
{assign var="tmp" value=1}
{/if}
<li><a href="index.php?categoryID={$root_categories_subs[j][0]}" class="standard {if $selected_category} active {/if}">{$root_categories_subs[j][1]}</a></li>
{/if}
{/section}
</li></ul>
{if ($smarty.section.i.index+1) is div by 2}{/if}
{/section}
printing...
Неактивен
Сообщить модератору |
Цитировать
#5 2010-06-18 06:15
grandius
Пользователь
Re: Помогите сделать меню
To alex2read:
Это все хорошо конечно, но мне нужен код для пунктов главного меню (Главная, О нас, Новости...), а не для списка категорий...
Вот мой css:
Код:
/*menu begin*/
.menu_bg {border-top:1px solid #33ccff;float:left;width:960px;}
.menu { float:right; margin:7px 0 ; width:771px; }
.menu ul { text-align: left; padding:0; margin:0; list-style:none; border:0; float:right; }
.menu ul li { float:left; margin:0; padding:0 2px; border:0; }
.menu ul li a { float:left; margin:0; padding:13px 0; color:#999999; font:normal 12px Arial, Helvetica, sans-serif; text-decoration:none; }
.menu ul li a span { padding:13px 16px; background:none; }
.menu ul li a:hover { color:#fff;background: url(../image/menu_r.gif) no-repeat right; }
.menu ul li a:hover span { background:url(../image/menu_l.gif) no-repeat left; }
.menu ul li a.active { color:#fff; background:url(../image/menu_r.gif) no-repeat right; }
.menu ul li a.active span { background:url(../image/menu_l.gif) no-repeat left; }
/*menu end*/
А вот фрагмент кода с меню из index.tpl.html:
Код:
<div class="menu_bg">
<div class="menu">
<ul>
<li><a href="./" class="active"><span>{$smarty.const.LINK_TO_HOMEPAGE}</span></a></li>
<li><a href="./about/"><span>{$smarty.const.ADMIN_ABOUT_PAGE}</span></a></li>
<li><a href="./{$smarty.const.REDIRECT_NEWS}/"><span>{$smarty.const.ADMIN_NEWS}</span></a></li>
<li><a href="./{$smarty.const.REDIRECT_PAGES}/"><span>{$smarty.const.ADMIN_PAGES}</span></a></li>
<li><a href="#"><span>Мастерская</span></a></li>
<li><a href="#"><span>Форум</span></a></li>
<li><a href="./contact/"><span>{$smarty.const.STRING_CONTACT_INFORMATION}</span></a></li>
</ul>
<div class="clr"></div>
</div>
</div>
нужно чтобы class="active" применялся лишь тогда когда какой либо пункт меню был выбран и был активным
Отредактированно grandius (2010-06-18 06:25)
Неактивен
Сообщить модератору |
Цитировать
#6 2010-06-18 16:55
nictboom
Пользователь
Re: Помогите сделать меню
мож так: <a href="./"{if $main_content_template == "home.tpl.html"} class="ваш стиль"{/if}>{$smarty.const.LINK_TO_HOMEPAGE}</a>
и описывайте в css: .ваш стиль {фон - картинка/цвет; шрифт; размер; отступ.....}
Неактивен
Сообщить модератору |
Цитировать
#7 2010-06-19 07:53
grandius
Пользователь
Re: Помогите сделать меню
Большое спасибо nictboom, помогло.
Неактивен
Сообщить модератору |
Цитировать
#8 2010-07-13 04:06
irchik15
Пользователь
Re: Помогите сделать меню
nictboom написал:
мож так: <a href="./"{if $main_content_template == "home.tpl.html"} class="ваш стиль"{/if}>{$smarty.const.LINK_TO_HOMEPAGE}</a>
и описывайте в css: .ваш стиль {фон - картинка/цвет; шрифт; размер; отступ.....}
скажите, а как написать этот код, если ссылка идет на информационную страницу? например, <a href="/auxpage_1/">О магазине</a>
код {if $main_content_template == "aux_page.html"} class="active"{/if} или {if $main_content_template == "aux_page.tpl.html"} class="active"{/if} не работает... спасибо
Неактивен
Сообщить модератору |
Цитировать
#9 2010-07-16 03:16
studmar
Пользователь
Re: Помогите сделать меню
{if ($main_content_template == "aux_page.tpl.html")&& ($aux_page == "aux1")}class="active"{/if}
где aux1 - имя файла из папки cfg, в котором находится информация по данной странице.
Отредактированно studmar (2010-07-16 03:24)
Неактивен
Сообщить модератору |
Цитировать
#10 2010-07-16 04:01
studmar
Пользователь
Re: Помогите сделать меню
но эта конструкция подходить только для страниц, aux файлы которых хранятся в папке cfg, а как быть со страницами из базы (созданные в админке SSF Lego Ed). Может кто подскажет?
Неактивен
Сообщить модератору |
Цитировать
#11 2010-07-16 04:09
studmar
Пользователь
Re: Помогите сделать меню
Кажется сработало!
Кому интересно как для дополнительный страниц, созданных в Админке (SSF Lego ed) добавить класс вот схема:
В файле aux_page.php
Внизу перед строчкой $smarty->assign("aux_title", $p[1]);
я добавил стройку $smarty->assign("aux_id", $p[0]);
в меню вставил условие
{if ($main_content_template == "aux_page.tpl.html")&& ($aux_id == "3")}class="select"{/if}
id доп страницы можно посмотреть в админке (к примеру, index.php?aux_pages=3 , где 3 и есть id) или в базе через phpmyadmin
Неактивен
Сообщить модератору |
Цитировать
#12 2010-07-19 05:07
irchik15
Пользователь
Re: Помогите сделать меню
Спасибо, будем сейчас пробовать ))
Неактивен
Сообщить модератору |
Цитировать
#13 Сегодня 15:36
balack
Пользователь[/spoiler]
Re: Помогите сделать меню
Кто может по пунктах рассказать что именно делать что где менять писать!
Пожалуйста!!!!