文档AEMAEM 教程AEM Forms 教程

使用Sightly模板显示收件箱数据

Last update: Mon May 05 2025 00:00:00 GMT+0000 (Coordinated Universal Time)
  • 适用对象:
  • Experience Manager 6.5
  • 主题:
  • 自适应表单

创建对象:

  • 有经验的
  • 开发人员

您可以使用Sightly模板来格式化要显示在收件箱列中的数据。 在本例中,我们将根据收入列的值显示coral-ui图标。 以下屏幕截图显示了收入列中的图标的使用
收入图标

用于显示自定义Coral ui图标的Sightly模板作为本文的一部分提供。

Sightly模板

以下是sightly模板。 模板中的代码根据收入显示图标。 这些图标作为AEM附带的coral ui图标库的一部分提供。

<template data-sly-template.incomeTemplate="${@ item}>">
    <td is="coral-table-cell" class="payload-income-cell">
         <div data-sly-test="${(item.workflowMetadata && item.workflowMetadata.income)}" data-sly-set.income ="${item.workflowMetadata.income}">
                 <coral-icon icon="confidenceOne" size="M" data-sly-test="${income >=0 && income <10000}"></coral-icon>
                 <coral-icon icon="confidenceTwo" size="M" data-sly-test="${income >=10000 && income <100000}"></coral-icon>
                 <coral-icon icon="confidenceThree" size="M" data-sly-test="${income >=100000 && income <500000}"></coral-icon>
                 <coral-icon icon="confidenceFour" size="M" data-sly-test="${income >=500000}"></coral-icon>
          </div>
    </td>
</template>

服务实施

以下代码是用于显示收入列的服务实施。

第12行将列与sightly模板关联

import java.util.Map;
import org.osgi.service.component.annotations.Component;
import com.adobe.cq.inbox.ui.InboxItem;
import com.adobe.cq.inbox.ui.column.Column;
import com.adobe.cq.inbox.ui.column.provider.ColumnProvider;

@Component(service = ColumnProvider.class, immediate = true)
public class IncomeProvider implements ColumnProvider {
@Override
public Column getColumn() {

return new Column("income", "Income", String.class.getName(),"inbox/customization/column-templates.html", "incomeTemplate");
}

@Override
public Object getValue(InboxItem inboxItem) {
Object val = null;

Map workflowMetadata = inboxItem.getWorkflowMetadata();

if (workflowMetadata != null && workflowMetadata.containsKey("income"))
    val = workflowMetadata.get("income");

return val;
}
}

在您的服务器上测试

NOTE
本文假定您已安装此系列中上一篇文章中的示例工作流和示例表单。
  • 以管理员用户身份登录到crx
  • 导入sightly模板
  • 登录到AEM Web控制台
  • 部署和启动收件箱自定义捆绑包
  • 打开您的收件箱
  • 通过单击“创建”按钮旁边的“列表视图”来打开Admin Control
  • 将收入列添加到收件箱并保存更改
  • 预览表单
  • 选择​ 婚姻状况 ​并提交表单
  • 查看收件箱

提交表单将触发工作流,并且任务会分配给“管理员”用户。 您应会在收入列下看到相应的图标

recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e