Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Layout Orchard CMS:为匿名用户使用不同的布局_Layout_Content Management System_Orchardcms_Anonymous - Fatal编程技术网

Layout Orchard CMS:为匿名用户使用不同的布局

Layout Orchard CMS:为匿名用户使用不同的布局,layout,content-management-system,orchardcms,anonymous,Layout,Content Management System,Orchardcms,Anonymous,我想为匿名用户使用不同的布局视图。我已经尝试过使用url替代,但我不确定如何为匿名用户创建布局,因为他们没有特定的url。 其想法是,如果新用户访问该网站,我希望显示一个包含非常有限信息的启动屏幕,并提供注册/登录选项,以查看整个网站。此启动屏幕将具有与站点其他部分完全不同的布局/外观和感觉。 我尝试使用匿名用户层,但我所能做的就是移动小部件(也许我遗漏了什么) 任何帮助都将不胜感激。 谢谢 没有现成的解决方案,但您可以这样做以获得所需: 使用您选择的名称在文件中添加新布局-例如,您可以将其命名

我想为匿名用户使用不同的布局视图。我已经尝试过使用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-非常感谢。我做了一个测试运行,它似乎工作的预期。我以后会做更多的工作。还感谢您提供有关如何添加区域的提示!