Orchardcms 果园搬迁至新区

Orchardcms 果园搬迁至新区,orchardcms,orchardcms-1.8,Orchardcms,Orchardcms 1.8,我设置自定义内容定义、查询和投影以显示这些内容定义,然后设置内容-[ItemType].Detail.cshtml以完全自定义该项目的外观。我遇到的问题是,它将此内容的详细视图放在Model.Content(在Layout.cshtml中)下,但我确实希望将此内容类型的详细视图放在名为LargeLeft的区域中 例如,当LargeLeft区域显示一个名为SmallRight的区域时,我会使用下面的代码(这对于它自己的部分来说非常有效): 我想这是placement.info的一部分,但由于我不想

我设置自定义内容定义、查询和投影以显示这些内容定义,然后设置内容-[ItemType].Detail.cshtml以完全自定义该项目的外观。我遇到的问题是,它将此内容的详细视图放在
Model.Content
(在Layout.cshtml中)下,但我确实希望将此内容类型的详细视图放在名为
LargeLeft
的区域中

例如,当
LargeLeft
区域显示一个名为
SmallRight
的区域时,我会使用下面的代码(这对于它自己的部分来说非常有效):

我想这是placement.info的一部分,但由于我不想改变单个部分(我的设计师想要完整的HTML控件,因此覆盖了模板),需要将整个内容放在一个特定的区域名称中,所以我有点不知所措


有什么想法吗?

好吧,我想你可以向你的设计师解释一下,他对html有完全的控制权

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

还可以使用
Layout.ZoneName.add(yourShape)
从代码向顶级分区添加形状

有关在不使用放置的情况下为类型生成标记的详细信息:

          @* 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>
          }
              @if (Model.Content != null) {
              <div class="col_16">
                @Zone(Model.Content)
                @if (Model.SocialMedia != null) {
                  @Zone(Model.SocialMedia)
                }                
              </div>
            }