我有一组重复的“功能”,就像这样
java - 在 CrafterCMS 中,如何将 ICE 添加到重复组中的项目?-LMLPHP

我希望能够制作一个上下文编辑弹出窗口来仅编辑这个单一功能。

我模板的代码是这样的

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

最佳答案

在 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

关于java - 在 CrafterCMS 中,如何将 ICE 添加到重复组中的项目?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43790118/

10-09 18:41