使用微觀範本顯示收件匣資料

您可以使用Sightly範本,將要顯示在收件匣欄中的資料格式化。 在此範例中,我們會根據收入欄的值來顯示coral-ui圖示。 以下螢幕截圖顯示收入欄中表徵圖的使用
ince-icons

本文 提供用來顯示自訂Coral ui圖示的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;
}
}

在伺服器上測試

注意

本文假設您已安裝此系列中前文 範例工作流程範例表單的範例文章。

提交表單會觸發工作流程,並將任務指派給「管理員」使用者。 收入欄下方應會顯示適當的圖示

本頁內容