页面导出器

AEM允许您将页面导出为包含图像、.js和。css文件的完整网页。

配置导出后,您只需在浏览器中请求一个页面,即可在URL中将html替换为export.zip,然后获得一个zip文件下载,其中包含以html格式呈现的页面和引用的资产。 页面中的所有路径(如图像路径)都将重写,以指向zip文件中包含的文件或指向服务器上的资源。

导出页面

以下步骤介绍了如何导出页面,并假定站点存在导出配置模板。 配置模板可定义页面的导出方式,并特定于您的站点。 要创建配置模板,请参阅为站点创建页面导出器配置部分。

要导出页面,请执行以下操作:

  1. 在您的浏览器中,打开页面。 例如:

  2. http://localhost:4502/content/geometrixx/en/products/triangle.html

  3. 打开页面属性对话框,选择​高级​选项卡并展开​导出​字段集。

  4. 单击放大镜图标,然后选择配置模板。 选择​geometrixx​模板,因为它是Geometrixx站点的默认模板。 单击​确定

  5. 单击​确定​以关闭页面属性对话框。

  6. 通过将URL中的html替换为export.zip来请求页面。

  7. <page-name>.export.zip文件下载到文件系统。

  8. 在文件系统中,解压缩文件:

    • 页面html文件(<page-name>.html)位于<unzip-dir>/<page-path>
    • 其他资源(.js文件、.css文件、图像……)根据导出模板中的设置进行定位。 在本示例中,某些资源位于<unzip-dir>/etc下,有些位于<unzip-dir>/<page-path>下。
  9. 在浏览器中打开页面html文件(<unzip-dir>/<page-path>.html)以检查呈现。

为站点创建页面导出器配置

页面导出器基于内容同步框架。 页面属性对话框中的可用配置是配置模板。 它们为页面定义了所有必需的依赖关系。 触发页面导出时,将使用配置模板,并将页面路径和设计路径动态应用到配置。 然后,使用标准内容同步功能创建zip文件。

AEM嵌入了几个模板,包括:

  • /etc/contentsync/templates/default处的默认值。 此模板:

    • 是在存储库中未找到配置模板时的回退模板。
    • 可用作新配置模板的基础。
  • 专用于​Geometrixx​站点的/etc/contentsync/templates/geometrixx。 此模板可用作创建新模板的示例。

要创建页面导出器配置模板,请执行以下操作:

  1. 在​CRXDE Lite​中,在/etc/contentsync/templates下创建一个节点:

    • 名称:例如,mysite。 选择页面导出器模板时,该名称将显示在页面属性对话框中。
    • 类型: nt:unstructured
  2. 在此处调用的模板节点mysite下,使用下面描述的配置节点创建一个节点结构。

页面导出器配置节点

配置模板包含在节点结构中。 每个节点都有一个type属性,该属性定义了zip文件创建过程中的特定操作。 有关type属性的更多详细信息,请参阅内容同步框架页中的配置类型概述部分。

以下节点可用于构建导出配置模板:

页面 节点页面节点用于将页面html复制到zip文件。具有以下特点:

  • 是必需节点。
  • 位于/etc/contentsync/templates/<sitename>下。
  • 其名称为page
  • 其节点类型为nt:unstructured

page节点具有以下属性:

  • 设置了值pagestype属性。

  • 它没有path属性,因为当前页面路径是动态复制到配置的。

  • 其他属性在内容同步框架的配置类型概述部分中进行了介绍。

重写 节点重写节点定义链接在导出页面中的重写方式。重写的链接可以指向包含在zip文件中的文件,也可以指向服务器上的资源。

有关rewrite节点的完整说明,请参阅“内容同步”页。

设计 节点设计节点用于复制用于导出页面的设计。具有以下特点:

  • 是可选的。
  • 位于/etc/contentsync/templates/<sitename>下。
  • 其名称为design
  • 其节点类型为nt:unstructured

design节点具有以下属性:

  • 设置为值copytype属性。

  • 它没有path属性,因为当前页面路径是动态复制到配置的。

通用 节点通用节点用于将clientlibs .js或。css文件等资源复制到zip文件。具有以下特点:

  • 是可选的。
  • 位于/etc/contentsync/templates/<sitename>下。
  • 没有特定名称。
  • 其节点类型为nt:unstructured
  • 具有type属性和任何type相关属性,如Content Sync框架的“配置类型概述”部分中所定义。

例如,以下配置节点将geometrixx clientlibs .js文件复制到zip文件:

"geometrixx.clientlibs.js": {
    "extension": "js",
    "type": "clientlib",
    "path": "/etc/designs/geometrixx/clientlibs",
    "jcr:primaryType": "nt:unstructured"
}

Geometrixx​页面导出配置模板显示如何配置页面导出。 要将浏览器中模板的节点结构视图为json格式,请请求以下URL:

http://localhost:4502/etc/contentsync/templates/geometrixx.-1.json

实现自定义配置

正如您在节点结构中注意到的,Geometrixx​页面导出配置模板有一个logo节点,其属性设置为imagetype这是一种特殊的配置类型,已创建该配置类型以将图像标志复制到zip文件。 要满足某些特定要求,您可能需要实现自定义type属性:要执行此操作,请参阅“内容同步”页中的实施自定义更新处理程序部分。

以编程方式导出页面

要以编程方式导出页面,可以使用PageExporter OSGI服务。 此服务允许您:

  • 导出页面并写入HTTP servlet响应。
  • 导出页面并在特定位置保存zip文件。

绑定到export选择器和zip扩展的servlet使用PageExporter服务。

疑难解答

如果下载zip文件时遇到问题,可删除存储库中的/var/contentsync节点,然后再次发送导出请求。

On this page

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now