0

我正在建设一个果园网站,主题是由一位对果园一无所知的图形艺术家构建的。插入它相当简单,但是他构建它的方式为我试图复制的最终用户提供了各种各样的选项,最好不用建立自定义模块。他构建模板的方式是包含四种不同的布局类型: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>         | 
|      |              | 
================================================================================= 

(等..)

基于我可以告诉你,有办法果园内创造各种内容类型具有“身体”选项(所以我可以有一个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个页面,可以是上述四种类型中的任何一种,所以通过层/小部件进行管理将非常复杂。此外,它也不允许我保证我的客户想要的发布/取消发布模型。

我当然可以建立一个模块来做到这一点,如果我需要,但有些事情告诉我果园已经支持这一点,我只是错过了如何设置它。

对此提出建议?我调查了一下使用Alternates,但我无法弄清楚如何创建一个内容类型,它下面有两种其他类型(即HTML编辑器的左/右视图)。可能最大的障碍是我需要两个HTML编辑器才能显示在主编辑屏幕上,因此用户显然知道构建该页面的哪个(即SmallLeft/LargeRight,LargeLeft/SmallRight,50/50 Split)是直观的。

回答

1

要添加额外的HTML编辑器,您需要将TextField添加到您的内容项目。添加完成后,您需要将html设置为该字段的flavour

+0

工作正常,但我该如何指定模型上的哪些区域?我试过placement.info,但没有运气。我创建的内容类型被称为“SplitPage”(即内容ID),我的XML用于展示位置文件是: <地点Parts_Fields_Common_Text-莱夫特赛德= “SplitLeft”/> <地点Parts_Fields_Common_Text-RightSide = “SplitRight”/> 此匹配请求被部分兑现(元数据消失),但推我的两个文本到模型上的这些区域的字段不起作用。 – RubyHaus 2013-03-21 15:27:12

+0

实际上,它不是'Parts_Fields_Common_Text-LeftSide',而是'Fields_Common_Text-LeftSide'(不包括'Parts_')。您必须注意,这将匹配本地区域(由@Display(Model.SplitLeft)''显示的'Content-SplitPage.cshtml'模板中的区域。如果您需要放置在全局区域(在Layout中)。cshtml'模板),你需要在区域名前面加上'/'符号(例如:') – 2013-03-21 17:15:07

+0

完美!这正是我所需要的,减去另一件事。内容现在按预期显示,但每个文本字段的名称(即左侧:[来自编辑器的HTML内容])显示在来自CMS编辑器的文本之前。我确信删除这也是一个placement.info配置条目,但我不确定如何完成它。 – RubyHaus 2013-03-21 18:12:00