果园将投影移至新区

时间:2014-06-25 21:49:56

标签: orchardcms orchardcms-1.8

我设置了自定义内容定义,查询和投影以显示这些内容定义,然后设置Content- [ItemType] .Detail.cshtml以完全自定义该项目的外观。我遇到的问题是它在Model.Content(在Layout.cshtml中)中放置了详细信息视图,但我真的想将此内容类型的详细信息视图放入名为{{1的区域相反。

例如,我在LargeLeft区域显示时使用了以下内容,其中一个名为LargeLeft(对于自己的部分非常有效):

SmallRight

由于我的自定义内容类型只是映射到 @* large left bar, small right column *@ @if (Model.LargeLeft != null && Model.SmallRight != null) { <div class="col_12"> @Zone(Model.LargeLeft) @if (Model.SocialMedia != null) { @Zone(Model.SocialMedia) } </div> <div class="col_4"> @Zone(Model.SmallRight) </div> } ,因此上面没有看到,而是在此处抛出:

Model.Content

我认为这是与placement.info的关系,但因为我不是要转移单个部分(我的设计师想要完全的HTML控制,因此覆盖模板)并且需要将整个事物放在特定的区域名称中有点失落。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

好吧,我想你可以向你的设计师解释他确实完全控制了HTML ......

您可以使用区域名称前面的斜杠将形状发送到placement.info中的顶级任意区域。

也可以使用Layout.ZoneName.Add(yourShape)从代码向顶级区域添加形状。

有关在不使用展示位置的情况下为类型构建标记的详情:http://weblogs.asp.net/bleroy/easy-content-templates-for-orchard-take-2