gpt4 book ai didi

xml - 命名空间未附加在 CQ 中包含的选项卡的字段名称中

转载 作者:行者123 更新时间:2023-12-04 16:54:38 27 4
gpt4 key购买 nike

在处理 CQ 5.4 时,我开发了一个组件,该组件具有包含相同字段的两个选项卡的对话框,并且我正在复制代码,这使其难以维护,因此我决定将选项卡分成一个新的 .xml 并将它们包含在 cqinclude 中.

我读到 herehere 可以定义命名空间,并且它将用于字段名称的前缀;但是当我尝试时,似乎没有包含前缀,并且字段中的值是“重复的”(我猜它们为每个选项卡保存一次)。

这是我的代码的简化版本:

对话框.xml

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
jcr:primaryType="cq:Dialog"
height="500"
width="600">
<items
jcr:primaryType="cq:TabPanel"
activeTab="{Long}0">
<items jcr:primaryType="cq:WidgetCollection">
<image0-tab
jcr:primaryType="cq:Widget"
path="/apps/acme/components/mycomponent/dialogTileTab.cqinclude.namespace.image0.infinity.json"
xtype="cqinclude"/>
<image1-tab
jcr:primaryType="cq:Widget"
path="/apps/acme/components/mycomponent/dialogTileTab.cqinclude.namespace.image1.infinity.json"
xtype="cqinclude"/>
</items>
</items>
</jcr:root>

对话框Tab.xml
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
jcr:primaryType="cq:Widget"
title="Tile"
xtype="panel">
<items jcr:primaryType="cq:WidgetCollection">
<buttontitle
jcr:primaryType="cq:Widget"
defaultValue="Click Me"
fieldLabel="Button Text"
name="./button"
xtype="textfield"/>
<titlecolor
jcr:primaryType="cq:Widget"
defaultValue="blue"
fieldLabel="Button Color"
name="./color"
type="select"
xtype="selection">
<options jcr:primaryType="cq:WidgetCollection">
<o0
jcr:primaryType="nt:unstructured"
text="Red"
value="red"/>
<o1
jcr:primaryType="nt:unstructured"
text="Green"
value="green"/>
<o2
jcr:primaryType="nt:unstructured"
text="Cadillac Blue"
value="blue"/>
</options>
</titlecolor>
</items>
</jcr:root>

这样,我可以正确地看到对话框和选项卡,但是保存信息时会出现问题,因为两个选项卡中的字段具有相同的名称,而不是单独保存,而是将它们连接在一起并保存在一起。例如,如果我有一个文本字段,并且在 tab1 中我写了“text1”,而在 tab2 中我写了“text2”,那么当我保存重新打开时,两个选项卡中的值都是“text1,text2”。

到目前为止,我只对 dialog.xml 和新选项卡 xml 进行了更改。我是否错过了这些或其他文件中的某些内容或某些设置?我需要包含任何捆绑包吗?它可以是通用/服务器设置还是可以仅在组件级别完成的设置?

最佳答案

这不是 OOTB 功能,需要在实例中安装 ACS AEM Commons Package。

以下是 的摘录使用方法 this link的部分你在问题中提到的。

First of all, you need to have the acs aem commons package installed (CQInclude Namespace is available since version 1.10.2).



可以根据您当前运行的 AEM 版本获取相应的版本 here .

关于xml - 命名空间未附加在 CQ 中包含的选项卡的字段名称中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38748020/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com