AEM可讓您將頁面匯出為完整的網頁,包含影像、.js
和.css
檔案。
設定後,您會在URL中將html
取代為export.zip
,以從瀏覽器要求頁面匯出。 這會產生封存(zip)檔案,其中包含以html格式呈現的頁面,以及參照的資產。 頁面中的所有路徑(例如,到影像的路徑)都會被重寫,以指向包含在存檔中的檔案,或指向伺服器上的資源。 然後,您就可以從瀏覽器下載封存(zip)檔案。
視您的瀏覽器和設定而定,下載會是:
<page-name>.export.zip
)<page-name>
);有效地擴展了歸檔檔案下列步驟說明如何匯出頁面,並假設您的網站有匯出範本。 匯出範本會定義頁面的匯出方式,且是您網站專屬的。 要建立導出模板,請參閱為您的站點🔗建立頁面導出器配置部分。
要導出頁面,請執行以下操作:
導覽至Sites主控台中的必要頁面。
選擇該頁,然後開啟屬性對話框。
選擇Advanced頁簽。
展開Export欄位以選取匯出範本。
選取網站所需的範本,然後使用OK確認。
選擇Save & Close以關閉頁面屬性對話框。
請求要匯出的頁面,在URL中將尾碼html
取代為export.zip
。
例如:
可透過下列方式存取:
將存檔檔案下載到檔案系統。
在您的檔案系統中,視需要解壓縮檔案。 展開後,會出現與所選頁面同名的資料夾。 此資料夾包含:
子資料夾content
,它是反映儲存庫中頁面路徑的一系列子資料夾的根
<page-name>.html
)其他資源(.js
檔案、.css
檔案、影像等) 是根據匯出範本中的設定來定位
在瀏覽器中開啟頁面html檔案(<unzip-dir>/<path>/<to>/<page>/<page-path>.html
)以檢查呈現。
頁面匯出器以內容同步架構為基礎。 頁面屬性對話方塊中可用的設定是可定義頁面所需相依性的匯出範本。
觸發頁面匯出時,會參考匯出範本,並動態套用頁面路徑和設計路徑。 然後會使用標準的「內容同步」功能來建立zip檔案。
現成可用的AEM安裝包含/etc/contentsync/templates/default
下的預設範本。
若儲存庫中找不到匯出範本,此範本即為後援範本。
default
範本會顯示如何設定頁面匯出,以便作為新匯出範本的基礎。
若要以JSON格式檢視瀏覽器中範本的節點結構,請要求下列URL:
http://localhost:4502/etc/contentsync/templates/default.json
建立新頁面匯出器範本最簡單的方法是:
複製default
範本,
為您的網站指派合適的新名稱,
然後進行必要的更新。
若要建立全新範本:
在CRXDE Lite中,在/etc/contentsync/templates
下建立節點:
Name
:與您的網站相稱的名稱;例如 <mysite>
。選擇頁面導出器模板時,該名稱將出現在頁面屬性對話框中。
Type
: nt:unstructured
在範本節點下方(稱為mysite
),使用下述配置節點建立節點結構。
設定範本後,您必須讓範本可供使用:
在CRXDE中,導覽至/content
分支中的必要頁面。 這可以是個別頁面,或子樹的根頁面。
在頁面的jcr:content
節點上建立屬性:
Name
: cq:exportTemplate
Type
: String
Value
:範本路徑;例如: /etc/contentsync/templates/mysite
範本包含節點結構,因為它使用內容同步架構。 每個節點都有一個type
屬性,定義了zip檔案建立過程中的特定操作。
以下節點可用來建立匯出範本:
page
頁面節點可用來將頁面html複製到zip檔案。其特點如下:
/etc/contentsync/templates/<mysite>
下方。page
的屬性Name
來定義。nt:unstructured
page
節點具有以下屬性:
以pages
值設定的type
屬性。
它沒有path
屬性,因為目前頁面路徑會動態複製到設定。
rewrite
重寫節點定義如何在匯出的頁面中重寫連結。重寫的連結可以指向zip檔案中包含的檔案或指向伺服器上的資源。
design
設計節點用於複製用於導出頁面的設計。其特點如下:
/etc/contentsync/templates/<mysite>
下方。design
的屬性Name
定義。nt:unstructured
。design
節點具有以下屬性:
設為copy
值的type
屬性。
它沒有path
屬性,因為目前頁面路徑會動態複製到設定。
generic
一般節點可用來複製clientlibs等資源
.js
或 .css
檔案。其特點如下:
/etc/contentsync/templates/<mysite>
下方。nt:unstructured
。type
屬性和type
相關屬性。例如,以下配置節點將mysite.clientlibs.js
檔案複製到zip檔案:
"mysite.clientlibs.js": {
"extension": "js",
"type": "clientlib",
"path": "/etc/designs/mysite/clientlibs",
"jcr:primaryType": "nt:unstructured"
}
實作自訂設定
您也可以進行自訂設定。
為了滿足某些特定需求,您可能需要實作自訂更新處理常式。
若要以程式設計方式匯出頁面,您可以使用PageExporter OSGI服務。 此服務可讓您:
綁定到export
選擇器和zip
擴展的Servlet使用PageExporter服務。
如果您在下載zip檔案時遇到問題,可以刪除存放庫中的/var/contentsync
節點,然後再次傳送匯出請求。