頁面匯出工具 the-page-exporter

Adobe Experience Manager (AEM)可讓您將頁面匯出為包含影像、.js.css檔案的完整網頁。

完成設定後,您可在URL中將html取代為export.zip,以請求從瀏覽器匯出頁面。 這會產生封存(zip)檔案,其中包含以html格式呈現的頁面以及參照的資產。 頁面中的所有路徑(例如,影像的路徑)都會重新寫入,以指向封存中包含的檔案或伺服器上的資源。 接著,您就可以從瀏覽器下載封存(zip)檔案。

NOTE
根據您的瀏覽器和設定,下載內容會是:
  • 封存檔案(<page-name>.export.zip)
  • 資料夾(<page-name>);實際上封存檔案已經展開

匯出頁面 exporting-a-page

下列步驟說明如何匯出頁面,並假設您的網站存在匯出範本。 匯出範本會定義頁面的匯出方式,且是您網站專屬的。 若要建立匯出範本,請參閱為您的網站建立頁面匯出程式組態

若要匯出頁面:

  1. 導覽至​ 網站 ​主控台中的必要頁面。

  2. 選取頁面,然後開啟​ 屬性 ​對話方塊。

  3. 選取​ 進階 ​標籤。

  4. 展開​ 匯出 ​欄位以選取匯出範本。
    為您的網站選取所需的範本,然後確認​ 確定

  5. 選取​ 儲存並關閉 ​以關閉頁面屬性對話方塊。

  6. 要求匯出頁面,在URL中將尾碼html取代為export.zip

    例如:

    • localhost:4502/content/we-retail/language-masters/en.html

    存取方式:

    • localhost:4502/content/we-retail/language-masters/en.export.zip
  7. 將封存檔案下載至您的檔案系統。

  8. 如有必要,請在您的檔案系統中解壓縮檔案。 展開時,會有一個與所選頁面同名的資料夾。 此資料夾包含:

    • 子資料夾content是反映存放庫中頁面路徑的一系列子資料夾的根目錄

      • 在此結構中有所選頁面(<page-name>.html)的html檔案
    • 根據匯出範本中的設定,可找到其他資源(.js個檔案、.css個檔案、影像等)

  9. 在瀏覽器中開啟頁面html檔案(<unzip-dir>/<path>/<to>/<page>/<page-path>.html),以便檢查轉譯。

建立網站的頁面匯出工具組態 creating-a-page-exporter-configuration-for-your-site

頁面匯出工具是以內容同步架構為基礎。 頁面屬性 ​對話方塊中可用的設定是定義頁面所需相依性的匯出範本。

觸發頁面匯出時,會參考匯出範本。 頁面路徑和設計路徑都會動態套用。 然後使用標準Content Sync功能建立zip檔案。

現成的AEM安裝包含/etc/contentsync/templates/default下的預設範本。

  • 此範本是在存放庫中找不到匯出範本時的後援範本。

  • default範本會顯示如何設定頁面匯出,以作為新匯出範本的基礎。

  • 若要在瀏覽器中以JSON格式檢視範本的節點結構,請要求下列URL:
    http://localhost:4502/etc/contentsync/templates/default.json

建立頁面匯出工具範本最簡單的方法是:

  • 複製default範本,

  • 指派適合您網站的新名稱,

  • 然後進行必要的更新。

若要建立全新的範本:

  1. 在​ CRXDE Lite ​中,在/etc/contentsync/templates底下建立節點:

    • Name:適合您網站的名稱;例如,<mysite>。 選擇頁面匯出程式範本時,名稱會顯示在頁面屬性對話方塊中。

    • Type: nt:unstructured

  2. 在範本節點(此處稱為mysite)下方,使用下述設定節點建立節點結構。

為您的頁面啟用頁面匯出工具範本 activating-a-page-exporter-configuration-for-your-pages

設定範本後,使其可用:

  1. 在CRXDE中導覽至/content分支中的必要頁面。 這可以是個別頁面,或是子樹狀結構的根頁面。

  2. 在頁面的jcr:content節點上,建立屬性:

    • Name: cq:exportTemplate
    • Type: String
    • Value:範本的路徑;例如: /etc/contentsync/templates/mysite

頁面匯出工具組態節點 page-exporter-configuration-nodes

範本包含節點結構,因為它使用Content Sync架構。 每個節點都有type屬性,定義了zip檔案建立過程中的特定動作。

下列節點可用來建置匯出範本:

  • page
    頁面節點用於將頁面html複製到zip檔案。 它具有下列特性:

    • 必要節點。
    • 位於/etc/contentsync/templates/<mysite>下方。
    • 已定義屬性Name設定為page
    • 節點型別為nt:unstructured

    page節點有下列屬性:

    • 以值pages設定的type屬性。

    • 它沒有path屬性,因為目前的頁面路徑會動態複製到設定。

  • rewrite
    重新寫入節點會定義在匯出頁面中重新寫入連結的方式。 重寫的連結可以指向zip檔案中包含的檔案或伺服器上的資源。

  • design
    設計節點用於複製用於匯出頁面的設計。 它具有下列特性:

    • 選填。
    • 位於/etc/contentsync/templates/<mysite>下方。
    • 已定義屬性Name設定為design
    • 節點型別為nt:unstructured

    design節點有下列屬性:

    • 設定為值copytype屬性。

    • 它沒有path屬性,因為目前的頁面路徑會動態複製到設定。

  • generic
    泛型節點用於將資源(如clientlibs .js.css檔案)複製到zip檔案。 它具有下列特性:

    • 選填。
    • 位於/etc/contentsync/templates/<mysite>下方。
    • 沒有特定名稱。
    • 節點型別為nt:unstructured
    • 具有type屬性和type相關屬性。

    例如,下列設定節點會將mysite.clientlibs.js檔案複製到zip檔:

    code language-xml
    "mysite.clientlibs.js": {
        "extension": "js",
        "type": "clientlib",
        "path": "/etc/designs/mysite/clientlibs",
        "jcr:primaryType": "nt:unstructured"
    }
    

實作自訂組態

您也可以使用自訂設定。

若要符合某些特定需求,請實作自訂更新處理常式

以程式匯出頁面 programmatically-exporting-a-page

若要以程式設計方式匯出頁面,您可以使用PageExporter OSGI服務。 此服務可讓您:

  • 匯出頁面並寫入HTTP servlet回應。
  • 匯出頁面,並將zip檔案儲存在特定位置。

繫結至export選取器及zip延伸模組的servlet使用PageExporter服務。

疑難排解 troubleshooting

如果您在下載zip檔案時遇到問題,可以刪除存放庫中的/var/contentsync節點,然後再次傳送匯出請求。

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2