Java Adobe CQ-指定JCR内容的写入位置(确切路径)

Java Adobe CQ-指定JCR内容的写入位置(确切路径),java,aem,jcr,Java,Aem,Jcr,我正在尝试创建一个xtype为“textfield”的对话框……我需要指定,每当用户更新此字段时,它将始终覆盖相同的JCR内容节点 我将此组件/对话框包含在多个页面中,以便作者可以编辑文本。问题是该页面的文本将被更新。(因为我使用的是相对路径) 我需要做的是…内容被更新并写入一个中心位置,这样无论用户编辑该文本的哪个页面,它都会更新到一个中心位置 一个真实的例子: 我们有模态对话框,显示整个网站。其中一些对话框是全局的。Out客户端已请求在这些对话框显示的任何页面上具有编辑选项。验收标准是,他们

我正在尝试创建一个xtype为“textfield”的对话框……我需要指定,每当用户更新此字段时,它将始终覆盖相同的JCR内容节点

我将此组件/对话框包含在多个页面中,以便作者可以编辑文本。问题是该页面的文本将被更新。(因为我使用的是相对路径)

我需要做的是…内容被更新并写入一个中心位置,这样无论用户编辑该文本的哪个页面,它都会更新到一个中心位置

一个真实的例子: 我们有模态对话框,显示整个网站。其中一些对话框是全局的。Out客户端已请求在这些对话框显示的任何页面上具有编辑选项。验收标准是,他们可以在任何页面上进行编辑,并且该编辑将应用于全局

我的问题是,我不确定如何设置文本字段将写入的路径

我正在从此处检索内容:

 <cq:include path="/content/jjj/en/misc/deviceoutmodal/jcr:content/buttontext1" resourceType="zig/components/text"/>


如何写入同一路径?

我认为这最好通过设计对话框来实现-您可以基于组件(或模板)设置属性,然后该组件的每个实例都将使用该属性

编辑器可以在设计模式下编辑属性(或者根据我的记忆,通过设计器)。设计对话框与常规对话框一样创建,但命名为
Design\u dialog.xml
。Adobe列出的是一个徽标组件:

徽标组件显示网站的徽标。这个 徽标图像和主页链接可以全局配置(对于 网站的每一页)以便此组件的每个实例 完全相同的因此,需要一个设计对话框来提供图像 并将主页链接的路径设计为相应的页面。这个 徽标组件放置在屏幕上所有页面的左上角 网站


我认为这最好通过设计对话框来实现——您可以基于组件(或模板)设置属性,然后该组件的每个实例都将使用该属性

编辑器可以在设计模式下编辑属性(或者根据我的记忆,通过设计器)。设计对话框与常规对话框一样创建,但命名为
Design\u dialog.xml
。Adobe列出的是一个徽标组件:

徽标组件显示网站的徽标。这个 徽标图像和主页链接可以全局配置(对于 网站的每一页)以便此组件的每个实例 完全相同的因此,需要一个设计对话框来提供图像 并将主页链接的路径设计为相应的页面。这个 徽标组件放置在屏幕上所有页面的左上角 网站


奇怪的是,我无法指定存储内容的位置。您可能可以直接访问JCR API并编写一些允许这样做的内容,但通常我认为OOTB(通过设计对话框、参考组件或iparsys)适用于这些类型的需求将在需要编写的自定义代码量和编辑器的用户体验之间进行最佳权衡。因此,我只需将:jcr:primaryType Name cq:Dialog更改为:jcr:primaryType Name cq:design_Dialog.xml您可以将jcr:primaryType保留为
cq:Dialog
,虽然文件名本身需要从dialog.xml更改为design_dialog.xml(如果您使用CRXDE,我认为它在上下文菜单中有一个用于创建设计对话框的选项)。但奇怪的是,我无法指定存储内容的位置。您可能可以直接点击JCR API并编写一些允许的内容,但通常对于这些类型的需求,我认为OOTB(通过设计对话框、参考组件或iparsys)将在需要编写的自定义代码量和编辑器的用户体验之间进行最佳权衡。因此,我只需将:jcr:primaryType Name cq:Dialog更改为:jcr:primaryType Name cq:design_Dialog.xml您可以将jcr:primaryType保留为
cq:Dialog
,虽然文件名本身需要从dialog.xml更改为design_dialog.xml(如果您使用CRXDE,我认为它在上下文菜单中有一个创建设计对话框的选项),但它不是回写到同一路径吗?路径是指向组件内容的路径。此路径是存储对话框中输入的值的位置。因此,如果要设置xtype,我需要使用哪些属性来保存到上述路径?我需要更改“name”属性吗?抱歉…对CQ来说还是新的。您应该需要做任何不同的事情,因为您在另一个页面上拉入组件,所有内容都将指向正确的路径。xtype的name属性通常是组件路径的相对路径,您使用cq:include标记的path属性设置了该路径。它不是回写到同一路径吗?路径是指向组件内容的路径。此路径是存储对话框中输入的值的位置。因此,如果要设置xtype,我需要使用哪些属性来保存到上述路径?我需要更改“name”属性吗?抱歉…对CQ来说还是新的。您应该需要做任何不同的事情,因为您在另一个页面上拉入组件,所有内容都将指向正确的路径。xtype的name属性通常是组件路径的相对路径,您使用cq:include标记的path属性设置该组件的路径。