4

我有一组重复的“功能”,就像这样 在此处输入图像描述

我希望能够制作一个 In Context Editing 弹出窗口来仅编辑这个单一功能。

我的模板代码是这样的

<#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>
4

1 回答 1

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

于 2017-05-04T19:02:40.090 回答