我想让 Piranha CMS 管理器屏幕列出仅由登录用户创建的页面。我想我应该使用 PageListModelLoaded 钩子来实现这一点,并在 global.asax 中编写了这段代码。
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RouteConfig.RegisterRoutes(RouteTable.Routes);
Hooks.Manager.PageListModelLoaded += (controller, menu, model) =>
{
Guid user_id = controller.User.GetProfile().Id;
model.Pages = model.Pages.Where(p => p.CreatedBy == user_id).ToList();
};
}
不幸的是,这并没有按我的预期工作,即使我通过逐步调试看到 model.Pages 的计数为零,Manager 也会列出所有页面。如果有人帮我看看我的错是什么,我将不胜感激。
问候, 乌米特