自訂函式

AEM Forms 6.5匯入定義JavaScript函式的功能,以在使用規則編輯器定義複雜商業規則時使用這些函式。
AEM Forms提供許多立即可用的自訂函式,但您需要定義自己的自訂函式,並在多個表單中使用這些函式。

若要定義您的第一個自訂函式,請遵循下列步驟:

  • 登入crx
  • 在應用程式下建立名為experience-league的新資料夾(此資料夾名稱可以是您選擇的名稱)
  • 儲存您的變更。
  • 在experience-league資料夾底下建立名為clientlibs的cq:ClientLibraryFolder型別的新節點。
  • 選取新建立的clientlibs資料夾,然後新增allowProxy和類別屬性(如熒幕擷取畫面中所示),並儲存變更。

client-lib

  • 在​ clientlibs ​資料夾下建立名為​ js ​的資料夾
  • 在​ js ​資料夾下建立名為​ functions.js ​的檔案
  • 在​ clientlibs ​資料夾下建立名為​ js.txt ​的檔案。 儲存您的變更。
  • 您的資料夾結構看起來應該像下面的熒幕擷取畫面。

規則編輯器

  • 按兩下functions.js以開啟編輯器。
    將下列程式碼複製到functions.js中並儲存變更。
/**
* Get List of County names
* @name getCountyNamesList Get list of county names
* @return {OPTIONS} drop down options
 */
function getCountyNamesList()
{
    var countyNames= [];
    countyNames[0] = "Santa Clara";
    countyNames[1] = "Alameda";
    countyNames[2] = "Buxor";
    countyNames[3] = "Contra Costa";
    countyNames[4] = "Merced";

    return countyNames;

}
/**
* Covert UTC to Local Time
* @name convertUTC Convert UTC Time to Local Time
* @param {string} strUTCString in Stringformat
* @return {string}
*/
function convertUTC(strUTCString)
{
    var dt = new Date(strUTCString);
    console.log(dt.toLocaleString());
    return dt.toLocaleString();
}

參閱jsdoc以取得有關註解javascript函式的詳細資訊。
上述程式碼有兩個功能:
getCountyNamesList — 傳回字串陣列
convertUTC — 將UTC時間戳記轉換為當地時區

開啟js.txt並貼上下列程式碼並儲存變更。

#base=js
functions.js

​#base=js行會指定JavaScript檔案所在的目錄。
以下各行表示JavaScript檔案相對於基礎位置的位置。

如果您在建立自訂函式時遇到問題,請隨時下載此套件並安裝在您的AEM執行個體中。

使用自訂函式

以下影片會逐步帶您瞭解在適用性表單的規則編輯器中使用自訂函式的相關步驟

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