在AEM Forms工作流程中設定JSON資料元素的值 setting-value-of-json-data-element-in-aem-forms-workflow
由於最適化表單在AEM Workflow中路由給不同的使用者,因此需要根據檢閱表單的人來隱藏或停用某些欄位或面板。 為了滿足這些使用案例,我們通常會設定隱藏欄位的值。 您可以根據此隱藏欄位的值來編寫商業規則,以隱藏/停用適當的面板或欄位。
在AEM Forms OSGi中 — 我們必須建立自訂OSGi套件組合以設定JSON資料元素的值。 此套件組合是作為本教學課程的一部分提供。
我們使用AEM工作流程中的「流程步驟」 。 我們會將「在Json中設定元素值」的OSGi套件組合與此程式步驟建立關聯。
我們需要傳遞兩個引數給設定值組合。 第一個引數是需要設定其值的元素的路徑。 第二個引數是需要設定的值。
例如,在上述熒幕擷圖中,我們將initialStep元素的值設為「N」
afData.afUnboundData.data.initialStep,N
在我們的範例中,我們有一個簡單的休假請求表單。 此表單的發起人填寫其姓名和休假日期。 提交時,此表單會傳送給「經理」進行稽核。 當管理員開啟表單時,第一個面板上的欄位會停用。 這是因為我們已將JSON資料中初始步驟元素的值設為N。
根據初始步驟欄位值,我們顯示「核准者」面板,「經理」可以核准或拒絕請求。
請檢視針對「初始步驟」設定的規則。 我們會根據initialStep欄位的值,使用表單資料模型擷取使用者詳細資訊,並填入適當的欄位和隱藏/停用適當的面板。
若要在本機系統上部署資產:
-
下載並部署setvalue組合。 這是自訂OSGI套件組合,可讓您在提交的json資料中設定元素的值。
-
- 將瀏覽器指向封裝管理員
- 匯入並安裝SetValueOfElementInJSONDataWorkflow.zip。此封裝包含與表單相關聯的範例工作流程模型和表單資料模型。
- 將瀏覽器指向封裝管理員
-
將瀏覽器指向Forms和檔案
-
按一下建立 | 檔案上傳
-
上傳TimeOffRequestForm.zip檔案
此表單是使用AEM Forms 6.4建置的。請確定您使用的是AEM Forms 6.4或更高版本 -
開啟表單
-
填寫開始和結束日期並提交表單。
-
移至「收件匣」
-
開啟與工作關聯的表單。
-
請注意,第一個面板中的欄位已停用。
-
請注意,核准或拒絕請求的面板現在可見。