Orchard 1.7中替代内容视图的自定义区域

时间:2014-03-06 21:35:22

标签: orchardcms orchardcms-1.7

我需要为我的Orchard网站的主页创建不同的结构。

我了解到如果你使用图层'TheHomepage',当你渲染主页时,小工具会运行,并且相应的Model。[ZoneName]属性设置为Zone(或者是形状或者它是什么,没有那么远)传递给Layout.cshtml。

到目前为止一切顺利,现在我想要的是我想在我的主页上只有这些自定义区域。所以我添加了以下测试区域:

HomeMagazine_1和HomeMagazine_2

当我将小部件附加到这些区域时,我在主页上运行小部件,我可以看到模型上的Model.HomeMagazine_1和Model.HomeMagazine_2传递给Layout.cshtml。

我的问题是我想要一个自定义页面来渲染这些区域。所以我添加了一个新视图:

内容的URL-homepage.cshtml

我在渲染区域的地方:

<div class="container">
@if (Model.HomeMagazine_1 != null)
{
@Zone(Model.HomeMagazine_1)
}

但问题是,传递到Content-url-homepage.cshtml的Model是没有HomeMagazine_1属性的ZoneHolding。

我理解这个的原因,我要问的是如何实现我所说明的内容,有没有办法进入Layout.cshtml ZoneHolding。我不确定,因为Layout.cshtml是在Content-url-homepage.cshtml之后执行的。

喜欢和Orchard一起工作,但有时会引发一些有趣的封锁!

1 个答案:

答案 0 :(得分:1)

我发现我可以使用:

Layout.HomeMagazine_1

具有预期效果。除非有人对如何实现这一目标提出更好的建议,否则我会将此作为答案。