快速入門 - 開發人員教學課程
身處今日數位時代,任何組織都需要建立對使用者友善的表單。AEM Forms 適用的 Edge Delivery Services 讓您可以使用 Google Docs 和 Microsoft Office 等熟悉的工具建立表單。
這些表單可直接提交資料至 Microsoft Excel 或 Google Sheets 檔案,讓您能夠使用由 Google Sheets、Microsoft Excel 和 Microsoft SharePoint 等強大 API 建構的活躍生態系統,以便輕鬆處理提交的資料或啟動現有的業務工作流程。
AEM Forms 會提供一個區塊 (名為最適化表單區塊),協助您輕鬆建立表單來擷取和儲存擷取的資料。您可以建立已預先設定最適化表單區塊的全新 AEM 專案 。
此 AEM Forms 教學課程將引導您使用新的 Adobe Experience Manager (AEM) Forms 專案建立、預覽和發佈您自己的自訂表單。
先決條件
- 您擁有 GitHub 帳戶,並且了解 Git 基本知識。
- 您擁有 Google 或 Microsoft SharePoint 帳戶。
- 您了解 HTML、CSS 和 JavaScript 的基本知識。
- 您已安裝 Node/npm 可進行本機開發。
請注意! 本教學課程使用 macOS、Chrome 和 Visual Studio Code。雖然這些步驟可調整以適用於其他設定,但螢幕擷圖和特定 UI 元素可能會根據您選擇的作業系統、瀏覽器和程式碼編輯器而有所不同。
建立一個預先設定最適化表單區塊的新 AEM 專案
AEM Forms 範本可協助您很快開始使用預先設定最適化表單區塊的 AEM 專案。這是遵守 AEM 最佳做法進行,且是直接開始建立表單的最快、最簡單的方法。
開始使用 AEM Forms 範本的存放庫範本
-
為您的 AEM 專案建立 GitHub 存放庫。若要建立存放庫:
-
前往 https://github.com/adobe-rnd/aem-boilerplate-forms 。
-
按一下「使用此範本」選項,然後選取「 建立新存放庫」選項。建立新存放庫畫面會開啟。
-
在建立新存放庫畫面上,選取「所有者」,並指定「存放庫名稱」 。Adobe 建議將存放庫設定為 「公開」。因此,選取「公開」選項,然後按一下「建立存放庫」。
-
-
在您的存放庫上安裝 AEM Code Sync GitHub 應用程式。若要安裝:
- 前往 https://github.com/apps/aem-code-sync/installations/new 。
- 在「安裝 AEM Code Sync」畫面上,選取「僅選取存放庫」選項,然後選取您新建立的存放庫。按一下「儲存」。
note note NOTE 如果您使用有 IP 篩選功能的 GitHub Enterprise,可以將下列 IP 新增至允許清單:3.227.118.73 恭喜!您有一個在
https://<branch>--<repo>--<owner>.aem.page/
上執行的新網站。<branch>
是指 GitHub 存放庫的分支。<repository>
表示您的 GitHub 存放庫。<owner>
是指託管 GitHub 存放庫的 GitHub 帳戶使用者名稱。
例如,如果分支名稱為
main
,存放庫為wefinance
,而所有者為wkndforms
,則網站會在https://main--wefinance--wkndforms.aem.page
<! 啟動並運作。–(https://main–wefinance–wkndform.aem.page)–>
連結您自己的內容來源
若要將範例內容複製到您自己的內容資料夾,並將 GitHub 存放庫指向您自己的內容資料夾:
-
在 Google Drive 或 Microsoft SharePoint 中專為您的 AEM 內容建立一個新資料夾。本文件是使用建立在 Microsoft SharePoint 的資料夾。
-
與 Adobe Experience Manager 使用者 (forms@adobe.com) 共用該資料夾。
確保您已向 Adobe Experience Manager 使用者提供該資料夾的編輯權限。
-
將範例內容複製到您的資料夾。若要複製:
-
解壓縮已下載的資料夾並複製內容。
nav
和footer
檔案是定義頁面的基本版面,並且在整個專案中很少有變動。檔案還具有與大多數其他內容檔案不同的特定結構。檢視這些檔案即可了解 AEM 專案中的內容是如何組織。 -
將這些檔案上傳到 Microsoft SharePoint 或 Google Drive 資料夾。
確保您將範例內容的
enquiry
工作表複製至 Google Drive 或 Microsoft SharePoint 上的資料夾。 此工作表含有範本表單的結構。
-
-
現在您已經設定了內容資料夾,您應該可將資料夾連結到先前使用 AEM Forms 範本在 GitHub 建立的專案。 若要連接:
-
前往您先前使用 AEM Forms 範本建立的 GitHub 存放庫。
-
在根資料夾中新增
fstab.yaml
檔案。 -
將您與 AEM 使用者 (forms@adobe.com) 共用的資料夾路徑新增作為參考。
如果您使用 Microsoft SharePoint,則資料夾路徑採用下列格式:
code language-html https://<tenant>.SharePoint.com/sites/<sp-site>/Shared%20Documents/<folder-name>
例如,
code language-html https://adobe.SharePoint.com/sites/wkndforms/Shared%20Documents/wefinance
如需更多有關在 Microsoft SharePoint 中管理檔案的資訊,請參閱「如何使用 Adobe SharePoint」。
-
您新增參考且一切運作正常後,即可認可
fsatb.yaml
檔案。如果您遇到任何建置問題,請參閱「解決 GitHub 建置問題」。這樣即可將您的內容資料夾連結到您的網站。 更新參照後,您最初可能會遇到「404 Not Found」錯誤。 這是因為您的內容還沒過預覽。 下一部分將介紹如何開始製作和預覽內容。
-
預覽和發佈您的內容
完成最後一個步驟之後,您的新內容來源並非空值,但在前進至預覽或上線階段之前,在您的網站上不會看到此內容。 目前,這可能會導致 404 錯誤。
若要預覽未發佈的內容:
-
安裝名為 AEM Sidekick 的 Chrome 擴充功能 。
安裝擴充功能至 Chrome 後,記得要釘選以便輕鬆找到。
-
若要設定 Sidekick Chrome 擴充功能,請前往先前共用的 Google Drive 或 Microsoft SharePoint 資料夾,然後按滑鼠右鍵點選瀏覽器工具列中的擴充功能圖示,然後選取「
Add this project
」。安裝擴充功能並新增專案後,您就可以預覽並發佈 Google Drive 的內容。
-
選取 Microsoft SharePoint 或 Google Drive 資料夾中的所有文件。 您可以在點選時長按 Ctrl 鍵 (Windows/Linux) 或 Cmd 鍵 (Mac) 以選擇多個文件。
-
按一下釘選至 Chrome 擴充功能列的 AEM Sidekick 圖示。 螢幕上會出現一個工具列。 您可以選擇預覽或發佈您的內容。
如果您複製
index
、nav
、footer
和enquiry
檔案過來,這些都是有其個別預覽和發佈週期的文件,因此請確保預覽 (和發佈) 所有這些檔案。預覽檔案後,新的瀏覽器標籤會顯示這些文件。 若要預覽範例表單,請前往以下 URL:
code language-html https://<branch>--<repository>--<owner>.aem.live
<branch>
是指 GitHub 存放庫的分支。<repository>
表示您的 GitHub 存放庫。<owner>
是指託管 GitHub 存放庫的 GitHub 帳戶使用者名稱。
https://<branch>--<repo>--<owner>.aem.page/enquiry
URL.例如,如果您的專案存放庫名為 "wefinance" (位於帳戶所有者 "wkndform" 下面),並且您使用的是 "main" 分支,表單名稱為
enquiry
,則 URL 為:https://main--wefinance--wkndform.aem.live/enquiry
。
<!–(https://main–wefinance–wkndform.aem.live/enquiry).–>
建立表單
範例內容包含一個「查詢」工作表,這是「查詢」表單的範本。 工作表的每一列代表一個表單欄位,且欄標題定義欄位屬性。 使用此範例表單,讓您在建立表單上佔有優勢。
helix-default
和 shared-aem
。讓我們從更新欄位標籤開始。 開啟「查詢」表進行編輯,將提交按鈕的標籤變更為Let's Talk
,並使用 AEM Sidekick 預覽和發佈檔案。
當您預覽或發佈檔案時,該檔案的 JSON 版本將顯示在新標籤中。 複製預覽 (.aem.page) 或發佈檔案的 (.aem.live) URL。
開啟 enquiry
檔案,並將表單區塊中的 URL 更換為上一個步驟中複製的檔案 URL。 確保 URL 是超連結。
使用 AEM Sidekick 預覽和發佈查詢文件。
若要預覽更新後的查詢表單,請往下列 URL:
https://<branch>--<repository>--<owner>.aem.page/enquiry
提交按鈕的標籤更新為 Let's Talk
。
<!–(https://main–wefinance–wkndform.aem.live/enquiry)–>
URL:https://main--wefinance--wkndform.aem.live/enquiry
<!–(https://main–wefinance–wkndform.aem.live/enquiry)–>
若需要建立和發佈新表單的詳細資訊,請參閱「建立表單」指南。
開始開發樣式和功能
若要立即啟動並運作本機 AEM 開發環境:
-
安裝 AEM CLI:AEM CLI 簡化了開發任務。讓我們使用 npm 進行全域安裝:
code language-bash npm install -g @adobe/aem-cli
-
原地複製您的 GitHub 專案:使用以下命令,從 GitHub 原地複製您的專案存放庫,以存放庫所有者取代
<owner>
並以存放庫名稱取代<repo>
:code language-none git clone https://github.com/<owner>/<repo>
-
啟動您的本機環境:瀏覽至專案目錄並使用單一命令來啟動本機 AEM 執行個體:
code language-none cd <repo> aem up
最適化表單區塊 blocks/form
資料夾是您設定表單樣式和程式碼的場域!編輯此目錄中的任何 .css
或 .js
檔案,這些變更會立即反映在您的瀏覽器中。
準備好展示您的創作了嗎?使用 Git 提交並推播您的變更。這將更新可在這些 URL 存取的預覽和生產環境 (將預留位置更換為您的專案詳細資訊):
預覽:https://<branch>--<repo>--<owner>.aem.page/
生產:https://<branch>--<repo>--<owner>.aem.live/
恭喜!您已成功設定本機開發環境並部署好您的變更。
將最適化表單區塊新增至您現有的 AEM 專案
如果擁有現有的 AEM 專案,您可以將自適應表單區塊整合至目前專案中,並開始建立表單。
若要整合:
-
導覽至本機系統上的 AEM 專案存放庫資料夾。
-
從 AEM Forms 範本複製下列資料夾和檔案,並貼到您的 AEM 專案中:
-
導覽至 AEM 專案中的
/scripts/editor-support.js
檔案,並使用 AEM Forms 範本中 editor-support.js 檔案來更新檔案 -
導覽至 AEM 專案中的
/models/_section.json
,並將「form」和「embed-adaptive-form」附加至filters
物件的元件陣列:code language-none "filters": [ { "id": "section", "components": [ . . . "form", "embed-adaptive-form" ] }]
-
(選用) 導覽至 AEM 專案中的
/.eslintignore
,並新增下列數行程式碼:code language-none blocks/form/rules/formula/* blocks/form/rules/model/* blocks/form/rules/functions.js scripts/editor-support.js scripts/editor-support-rte.js
-
(選用) 導覽至 AEM 專案中的
/.eslintrc.js
,並在rules
物件中新增下列數行程式碼:code language-none 'xwalk/max-cells': ['error', { '*': 4, // default limit for all models form: 15, wizard: 12, 'form-button': 7, 'checkbox-group': 20, checkbox: 19, 'date-input': 21, 'drop-down': 19, email: 22, 'file-input': 20, 'form-fragment': 15, 'form-image': 7, 'multiline-input': 23, 'number-input': 22, panel: 17, 'radio-group': 20, 'form-reset-button': 7, 'form-submit-button': 7, 'telephone-input': 20, 'text-input': 23, accordion: 14, modal: 11, rating: 18, password: 20, tnc: 12, }], 'xwalk/no-orphan-collapsible-fields': 'off', // Disable until enhancement is done for Forms properties
-
開啟終端機並執行下列命令:
code language-none npm i npm run build:json
note note NOTE 將變更推送至 GitHub 上的 AEM 專案存放庫之前,請確保位於 AEM 專案根目錄層級的 component-definition.json
、component-models.json
,以及component-filters.json
檔案已使用表單相關物件進行更新。 -
認可和推播這些變更至 GitHub 的 AEM 專案存放庫。
就是這樣!最適化表單區塊現在是您 AEM 專案的一部分。您可以開始建立表單並將其新增至 AEM 頁面。
疑難排解 GitHub 建置問題
解決潛在問題以確保 GitHub 建置流程順利進行:
-
解析模組路徑錯誤:
如果遇到錯誤「無法解析模組路徑 '/scripts/lib-franklin.js'」,請導覽至 [EDS Project]/blocks/forms/form.js 檔案。將 lib-franklin.js 檔案更換為 aem.js 檔案來更新匯入語句。 -
處理 Linting 錯誤: 如果您遇到任何 linting 錯誤,您可以略過不予處理。開啟 [EDS Project]/package.json 檔案並將 "lint" 指令碼從
"lint": "npm run lint:js && npm run lint:css"
修改為"lint": "echo 'skipping linting for now'"
。儲存檔案並將變更提交至您的 GitHub 專案。