我正在构建一个 Orchard 网站,其主题是由一位对 Orchard 一无所知的图形艺术家构建的。插入它相当简单,但是他构建它的方式为我试图复制的最终用户提供了一些不同的选项,最好不构建自定义模块。他构建模板的方式是包括四种不同的布局类型:50/50、33/67、67/33 和 100%(由于 Model.Content 的原因,这种布局有效)。
示例图形视图:
50/50
=================================================================================
| | |
| <Left bar with HTML content> | <Right bar with HTML content> |
| | |
=================================================================================
33/67
=================================================================================
| | |
| <Small Left w/HTML> | <Large Right w/HTML> |
| | |
=================================================================================
(等等..)
据我所知,有多种方法可以在 Orchard 中创建具有“正文”选项的各种内容类型(因此我可以拥有一个 HTML 编辑器),但我不知道如何使用两个 HTML 创建其中一个编辑器,这样我就可以拥有一个可路由的页面,该页面有两个可以影响的区域。在 Layout.cshtml 中,我绑定两列布局的示例如下所示:
@if (Model.SplitLeft != null && Model.SplitRight != null) {
@* 50/50 split view *@
<div class="col_12">
<div class="col_6 clearleft padding_top_15">
@Zone(Model.SplitLeft)
</div>
<div class="col_6 omega">
@Zone(Model.SplitRight)
</div>
</div>
}
我知道小部件具有指定区域的能力,但我试图避免这些,因为在尝试构建需要添加两个小部件的两列布局时,它们不会让最终用户直观,应用它们到特定图层上的特定区域,修改图层规则等。该站点将有 40-50 个页面,可以是上面指定的四种类型中的任何一种,因此通过图层/小部件进行管理将非常复杂。此外,它也不允许我保证我的客户想要的发布/取消发布模型。
如果需要,我当然可以构建一个模块来执行此操作,但有些事情告诉我 Orchard 已经支持这个,我只是在如何设置它方面缺少一些东西。
建议?
编辑:我考虑过使用 Alternates,但我不知道如何创建一个内容类型,它下面有两种其他类型(即 HTML 编辑器的左/右视图)。可能最大的障碍是我需要两个 HTML 编辑器才能显示在主编辑屏幕上,因此用户很明显哪个是(即 SmallLeft/LargeRight、LargeLeft/SmallRight、50/50 拆分),因此构建页面很直观。