页面导出器

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

配置后,您可以通过将URL中的html替换为export.zip从浏览器请求页面导出。 这将生成一个归档(zip)文件,其中包含以html格式呈现的页面以及引用的资产。 页面中的所有路径(例如,到图像的路径)都将重写,以指向归档中包含的文件或指向服务器上的资源。 然后,可从您的浏览器下载存档(zip)文件。

注意

根据您的浏览器和设置,下载将是:

  • 存档文件(<page-name>.export.zip)
  • 文件夹(<page-name>);有效地扩展了存档文件

导出页面

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

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

  1. 导航到​站点​控制台中的所需页面。

  2. 选择该页面,然后打开​属性​对话框。

  3. 选择​高级​选项卡。

  4. 展开​导出​字段以选择导出模板。
    为站点选择所需的模板,然后使用​确定​进行确认。

  5. 选择​保存并关闭​以关闭页面属性对话框。

  6. 请求导出页面,将URL中后缀html替换为export.zip

    例如:

    • 本地主机:4502/content/we-retail/language-masters/en.html

    可通过以下方式访问:

    • localhost:4502/content/we-retail/language-masters/en.export
  7. 将存档文件下载到文件系统。

  8. 在文件系统中,根据需要解压缩文件。 展开后,将会有一个与选定页面同名的文件夹。 此文件夹包含:

    • 子文件夹content,它是反映存储库中页面路径的一系列子文件夹的根

      • 在此结构中,有选定页面的html文件(<page-name>.html)
    • 其他资源(.js文件、.css文件、图像等) 根据导出模板中的设置进行定位

  9. 在浏览器中打开页面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模板,

  • 指定适合您的站点的新名称,

  • 然后进行所需的更新。

要创建全新模板,请执行以下操作:

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

    • Name:与您的站点相称的名称;例如 <mysite>,选择页面导出器模板时,该名称将显示在页面属性对话框中。

    • Type: nt:unstructured

  2. 在此处调用的模板节点mysite下,使用下面描述的配置节点创建一个节点结构。

为页面激活页面导出器模板

配置模板后,您需要使其可用:

  1. 在CRXDE中,导航到/content分支中所需的页面。 这可以是单个页面,也可以是子树的根页面。

  2. 在页面的jcr:content节点上创建以下属性:

    • Name: cq:exportTemplate
    • Type: String
    • Value:模板的路径;例如: /etc/contentsync/templates/mysite

页面导出器配置节点

模板由节点结构组成,因为它使用内容同步框架。 每个节点都有一个type属性,该属性定义了zip文件创建过程中的特定操作。

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

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

    • 是必需节点。
    • 位于/etc/contentsync/templates/<mysite>下。
    • 定义为属性Name设置为page
    • 节点类型为nt:unstructured

    page节点具有以下属性:

    • 设置了值pagestype属性。

    • 它没有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文件:

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

实现自定义配置

也可以进行自定义配置。

为了满足某些特定要求,您可能需要实现自定义更新处理程序

以编程方式导出页面

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

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

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

疑难解答

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

在此页面上