我在如何为选择对话框添加选项时遇到了困难。
我正在阅读的Adobe笔记在这里:CQ.form.Selection
向下滚动到options : Object[]/String
将显示两种方法来引用选项,通过对象或字符串提供所述选择。我正在尝试使用对象方法。他们提供的格式示例就足够了。
[
{
value: "pink", // all types except "combobox"
text: "Pink",
qtip: "Real Pink" // "select" and "combobox"
}
]
但是,CRXDE Lite不允许我在添加新属性时选择或键入Object,这是我不知所措的地方。还有其他方法可以输入复杂的值吗?
答案 0 :(得分:20)
将选项添加为Object[]
将通过子节点而不是属性完成。 (事实上,如果您在API中看到Object
,请考虑node
而不是property
。)
在dialog.xml
文件中,这将按以下方式完成:
<selectList
jcr:primaryType="cq:Widget"
defaultValue="0"
fieldLabel="Number"
name="./number"
type="select"
xtype="selection">
<options jcr:primaryType="cq:WidgetCollection">
<one
jcr:primaryType="nt:unstructured"
text="One"
value="1"/>
<two
jcr:primaryType="nt:unstructured"
text="Two"
value="2"/>
<three
jcr:primaryType="nt:unstructured"
text="Three"
value="3"/>
<four
jcr:primaryType="nt:unstructured"
text="Four"
value="4"/>
</options>
</selectList>
在CRXDE中,可以通过创建相同的层次结构来实现:
jcr:primaryType
cq:WidgetCollection
。这将保留您的选项值。jcr:primaryType
为nt:unstructured
。value
,text
,qtip
)放置在这些子节点上。