我记录综合系统学习研究之用户管理五(如何利用wojilu打造一个全新的SNS应用)
wojilu框架特别适合快速开发多用户分享内容应用,比如知乎,digg这类应用。
对于博客等用户程序,要有4个入口:1)用户展示入口(展示自己的应用) 2)用户后台管理入口(管理自己的应用) 3)聚合展示入口(全部用户) 4)网站后台入口(管理全部用户的应用数据)。
下面就来讨论下,如何定制一个与我记录综合系统页面展示不太一样的多用户应用。
上面说到了,二次开发一个新应用,需要实现4个入口。我们这里只关注其中的2个展示入口。
先说聚合展示入口。
定制聚合展示入口比较容易,只需要重写SiteLayoutController的Layout action和相应的视图即可。这里有一点需要注意的是,聚合展示入口上面菜单跳转的url是由2部门配置共同起作用完成的。分别是route.config和wojilu.Members.Sites.Domain.SiteMenu.config。
接下来说一下,用户展示入口(展示自己的应用)
这里就比较复杂了,主要要注意publisher_Begin_InitContext里的 InitFactory.GetOwner().Init( ctx );实现。
InitFactory.GetOwner().Init( ctx )->updateRoute_Menu结合UserMenu数据库表中的定义,展示各个菜单。用户展示入口的default页由UserMenu表中字段url='default'决定的行的rawurl列定义。