gpt4 book ai didi

java - 有没有办法在一个组件中选择多个 Assets ?

转载 作者:行者123 更新时间:2023-12-02 04:33:34 24 4
gpt4 key购买 nike

我有一个组件,允许用户选择指定路径中的 Assets 。用户选择 Assets 并单击“确定”后,我从 Assets 的属性中获取纬度/经度并将其绘制在谷歌地图上。这工作正常,但现在我希望用户能够选择多个 Assets ,以便可以在 map 上放置多个标记。

目前,作者选择资源的对话框如下所示

enter image description here

选择 Assets 并单击“确定”后,我的 java 代码将像这样获取对该 Assets 的引用

public class Foo extends WCMUse {
public void activate() {
fileReference = getProperties().get("fileReference", String.class);
....
}
}

问题有没有一种方法可以修改代码,以便用户可以选择多个 Assets ,而不仅仅是只能选择一个?我可以访问我的 Java 类中所有选定的资源吗?

我的 dialog.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"
jcr:primaryType="cq:Dialog"
xtype="dialog">
<items
jcr:primaryType="cq:Widget"
xtype="tabpanel">
<items jcr:primaryType="cq:WidgetCollection">
<tab1
jcr:primaryType="cq:Panel"
title="Tab">
<items
jcr:primaryType="cq:WidgetCollection">
<asset-reference
jcr:primaryType="cq:Widget"
fieldLabel="Foo Bar:"
fieldDescription="Select the asset under /content/dam/foo-sync"
name="./fileReference"
xtype="pathfield"
rootPath="/content/dam/foo"/>
</items>
</tab1>
</items>
</items>
</jcr:root>

.context.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"
jcr:primaryType="cq:Component"
jcr:title="My Component"
allowedParents="*/parsys"
componentGroup="My Components"/>

_cq_editConfig.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:EditConfig">
<cq:dropTargets jcr:primaryType="nt:unstructured">
<fileReference
jcr:primaryType="cq:DropTargetConfig"
accept="[text/.*]"
groups="[media]"
propertyName="./fileReference"/>
</cq:dropTargets>
</jcr:root>

最佳答案

Is there a way to modify the code such that the user can select multiple assets rather than just being able to select one?

是的。您可以考虑将“multifield ”与 pathfield 一起使用。而不是仅使用 pathfield ”。

asset-reference (xtype = multifield , name= ./fileReference)
fieldConfig (xtype = pathfield)

And can I get access to all the selected assets in my Java class?

在你的java类中,而不是使用getProperties().get("fileReference", String.class); ,你需要使用 getProperties().get("fileReference", String[].class);

多字段将值存储为字符串数组而不是字符串。

关于java - 有没有办法在一个组件中选择多个 Assets ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31128941/

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