Отображать меню входа и регистрации отдельно (сгруппированные) с помощью Lift - PullRequest
1 голос
/ 10 января 2012

У меня есть следующие пункты меню в моем boot.scala для отображения «Home», «About» и пользовательских меню из MetaMegaProtoUser:

val homeLink = new Link("index" :: Nil, false)
val homeMenu = Menu(Loc("homeHome", homeLink, "Home"))
val aboutLink = new Link("about" :: "index" :: Nil, false)
val aboutMenu = Menu(Loc("aboutHome", aboutLink, "About"))
val menus = homeMenu :: aboutMenu :: User.menus
LiftRules.setSiteMap(SiteMap(menus: _*))

В моем default.html у меня есть следующеесделать меню:

<lift:Menu.builder li_item:class="active" linkToSelf="true"></lift:Menu>

Я хочу, чтобы меню «Дом» и «О нас» были сгруппированы в одном месте, а меню «Пользователь» - в отдельном месте на моей странице (например, в правом верхнем углу отображается как «Логин»).Регистрация ".

1 Ответ

1 голос
/ 23 августа 2012

Вы должны использовать фрагмент Menu.group, который позволяет отображать элементы меню для определенного LocGroup.На веб-странице есть отличная глава Изучение подъема в разделе 7.5.2.

LocGroup позволяет вам классифицировать ваши пункты меню ... Элемент меню может быть связан содна или несколько групп.Просто добавьте параметр LocGroup со строковыми аргументами для имен групп.

Это означает, что вы можете сделать что-то вроде этого,

val entries = (
    (Menu("Login") / "login" >> LocGroup("main")) ::
    (Menu("Logout") / "logout" >> LocGroup("user")) ::
    (Menu("Profile") / "profile" >> LocGroup("user", "main")) ::
    (Menu("Home") / "index" >> LocGroup("main")) :: Nil
)

После добавления entries к вашему Boot.scalaчерез

LiftRules.setSiteMap(SiteMap(entries: _*))

Вы можете отобразить только пункты меню для LocGroup("user") с,

<div id="userMenu">
    <div class="lift:Menu.group?group=user;a:class=userLink"></div>
</div>

Обратите внимание, что при вызове Menu.group вы определяете группу, передавая параметрgroup=user и может передавать параметры стилизации, такие как a:class=userLink.

Теперь вы можете свободно оформлять #userMenu так, как хотите, помещать его в любое место и т. Д. И выбирать столько групп, сколько пожелает ваше сердце!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...