Scala 自制用户对象,在模板中布线

Scala 自制用户对象,在模板中布线,scala,mongodb,lift,Scala,Mongodb,Lift,因为我必须在现有数据库上工作,所以我已经为我的应用程序编写了自己的用户类型。它工作得很好,但是我在模板中遇到了麻烦 我使用的,提供了很多功能,甚至是自己的sitemap方法。这个没有什么问题,但我需要它 然后,我尝试为它们创建自己的菜单实例。它们与ProtoUsertrait中定义的那些完全相同,但它们根本不起作用 这是我当前的网站地图。完整的代码在这里 也许有人能帮我隐藏那个用户。网站地图?或者它应该如何完成,我习惯于显式路由的框架。检查net.liftweb.proto下定义菜单项的类Pro

因为我必须在现有数据库上工作,所以我已经为我的应用程序编写了自己的
用户类型。它工作得很好,但是我在模板中遇到了麻烦

我使用的,提供了很多功能,甚至是自己的
sitemap
方法。这个没有什么问题,但我需要它

然后,我尝试为它们创建自己的
菜单
实例。它们与
ProtoUser
trait中定义的那些完全相同,但它们根本不起作用

这是我当前的网站地图。完整的代码在这里


也许有人能帮我隐藏那个
用户。网站地图
?或者它应该如何完成,我习惯于显式路由的框架。

检查
net.liftweb.proto
下定义菜单项的类
ProtoUser

User
类中,您可以覆盖这些菜单项,例如:

override protected def editUserMenuLocParams: List[LocParam[Unit]] =
  Hidden :: //hides it but still reachable
  Template(() => wrapIt(editFunc.map(_()) openOr edit)) ::
  testLogginIn ::
  Nil
或者直接停用它:

override def editUserMenuLoc: Box[Menu] = Empty //not reachable
然后在
引导中编写如下内容:

def sitemap() = SiteMap(
  Menu("Home") / "index" >> Hidden >> User.AddUserMenusAfter)

检查定义菜单项的
net.liftweb.proto
下的类
ProtoUser

User
类中,您可以覆盖这些菜单项,例如:

override protected def editUserMenuLocParams: List[LocParam[Unit]] =
  Hidden :: //hides it but still reachable
  Template(() => wrapIt(editFunc.map(_()) openOr edit)) ::
  testLogginIn ::
  Nil
或者直接停用它:

override def editUserMenuLoc: Box[Menu] = Empty //not reachable
然后在
引导中编写如下内容:

def sitemap() = SiteMap(
  Menu("Home") / "index" >> Hidden >> User.AddUserMenusAfter)