假设我有两个用户模型:
object Customer extends Customer with KeyedMetaMapper[Long, Customer] with MetaMegaProtoUser[Customer]
object User extends User with MetaMegaProtoUser[User]
来自MegaProtoUser
。一个用于前端,一个用于管理员登录,它们完全不同。现在我想我必须将两者都添加到站点地图中:
class Boot {
def boot {
val sitemap = List(
Menu.i("Home") / "index",
Menu.i("Admin") / "admin" / "index" submenus User.menus
) ::: Customer.menus
LiftRules.setSiteMap(SiteMap(sitemap:_*))
}
}
对我来说似乎很简单,但它引发了一个例外:
net.liftweb.sitemap.SiteMapException: Location Login defined twice
Loc(Login, <function1>, LinkText(<function1>), List(If(<function0>,<function0>), Template(<function0>)))
and
Loc(Login, <function1>, LinkText(<function1>), List(LocGroup(WrappedArray(public)),If(<function0>,<function0>), Template(<function0>)))
如何为管理员用户添加第二个登录和用户编辑区域?
答案 0 :(得分:2)
(从查看proto / ProtoUser.scala)覆盖此:
/ ** *如果您的应用程序中有多个ProtoUser,则需要区分菜单名称。 *通过更改菜单名称后缀来执行此操作,以便没有名称冲突 * / protected def menuNameSuffix:String =&#34;&#34;
因此,如果您将其设置为&#34; xx&#34;然后菜单名称将是Loginxx而不是登录。