在CrafterCMS中,如何将ICE添加到重复组中的项目?

时间:2017-05-04 18:18:38

标签: java content-management-system crafter-cms

我有一个重复的"功能",就像这样 enter image description here

我希望能够在“上下文编辑”弹出窗口中仅编辑此单一功能。

我的模板代码就像这样

<#import "/templates/system/common/cstudio-support.ftl" as studio/>

<div class="container about_content center p-b-3 wow fadeInUp" data-wow-duration="700ms" <@studio.componentAttr path=contentModel.storeUrl /> >
  <div class="row">
    <#list contentModel.features.item as feature>
      <div class="col-md-4" <@studio.iceAttr iceGroup="feature" path=contentModel.storeUrl label="Feature" /> >
        <div class="single_abt single_about m-y-3">
          <i class="fa">
            <img src="${feature.logo}" />
          </i>
          <h3>${feature.title}</h3>
          <p>${feature.description!}</p>
        </div>
      </div>
    </#list>
  </div>
</div>

1 个答案:

答案 0 :(得分:6)

在CrafterCMS中,如果您希望这些功能可以单独编辑而不是作为一个组编辑,那么它们需要被定义为单独的组件。

查看版本3.0附带的编辑蓝图,它有一个与ICE标记一起呈现为组件的功能列表:https://github.com/craftercms/studio/blob/master/src/main/webapp/repo-bootstrap/global/blueprints/website_editorial/templates/web/pages/home.ftl

请注意以下部分:

<section <@studio.iceAttr iceGroup="features"/>>
    <header class="major">
        <h2>${contentModel.features_title}</h2>
    </header>
    <div class="features" <@studio.componentContainerAttr target="features" objectId=contentModel.objectId/>>
        <#if contentModel.features?? && contentModel.features.item??>
            <#list contentModel.features.item as feature>
                <@renderComponent component=feature />
            </#list>
        </#if>
    </div>
</section>

它基本上迭代了单独渲染它们的组件列表。

有关详情,请参阅文档中的ICE:http://docs.craftercms.org/en/3.0/developers/in-context-editing.html