Layout Orchard CMS:为匿名用户使用不同的布局
我想为匿名用户使用不同的布局视图。我已经尝试过使用url替代,但我不确定如何为匿名用户创建布局,因为他们没有特定的url。 其想法是,如果新用户访问该网站,我希望显示一个包含非常有限信息的启动屏幕,并提供注册/登录选项,以查看整个网站。此启动屏幕将具有与站点其他部分完全不同的布局/外观和感觉。 我尝试使用匿名用户层,但我所能做的就是移动小部件(也许我遗漏了什么) 任何帮助都将不胜感激。Layout Orchard CMS:为匿名用户使用不同的布局,layout,content-management-system,orchardcms,anonymous,Layout,Content Management System,Orchardcms,Anonymous,我想为匿名用户使用不同的布局视图。我已经尝试过使用url替代,但我不确定如何为匿名用户创建布局,因为他们没有特定的url。 其想法是,如果新用户访问该网站,我希望显示一个包含非常有限信息的启动屏幕,并提供注册/登录选项,以查看整个网站。此启动屏幕将具有与站点其他部分完全不同的布局/外观和感觉。 我尝试使用匿名用户层,但我所能做的就是移动小部件(也许我遗漏了什么) 任何帮助都将不胜感激。 谢谢 没有现成的解决方案,但您可以这样做以获得所需: 使用您选择的名称在文件中添加新布局-例如,您可以将其命名
谢谢 没有现成的解决方案,但您可以这样做以获得所需: 使用您选择的名称在文件中添加新布局-例如,您可以将其命名为
Splash.cshtml
将下面的代码添加到Layout.cshtml
模板的顶部:
@if (WorkContext.CurrentUser == null) {
@Display.Splash()
return;
}
该代码将检查用户是否已登录。如果不是,它将呈现Splash.cshtml
模板的内容,并停止呈现Layout.cshtml
模板的其余部分
如果您需要显示
Splash.cshtml
模板中的任何小部件,只需添加@display(Layout.nameofzone)
即可添加它,您应该将nameofzone
替换为您在Layout.cshtml
模板中使用的区域的实际名称。通常,您在Layout.cshtml
模板中使用的任何内容都可以通过Model
对象在任何视图中使用Layout
对象。Ivan-非常感谢。我做了一个测试运行,它似乎工作的预期。我以后会做更多的工作。还感谢您提供有关如何添加区域的提示!