将选择下拉列表添加到对话框窗口

时间:2013-07-08 16:10:02

标签: cq5

我在如何为选择对话框添加选项时遇到了困难。

我正在阅读的Adobe笔记在这里:CQ.form.Selection

向下滚动到options : Object[]/String将显示两种方法来引用选项,通过对象或字符串提供所述选择。我正在尝试使用对象方法。他们提供的格式示例就足够了。

[
    {
        value: "pink", // all types except "combobox"
        text: "Pink",
        qtip: "Real Pink" // "select" and "combobox"
    }
]

但是,CRXDE Lite不允许我在添加新属性时选择或键入Object,这是我不知所措的地方。还有其他方法可以输入复杂的值吗?

1 个答案:

答案 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中,可以通过创建相同的层次结构来实现:

  1. 右键单击选择节点,然后选择创建&gt;的节点即可。
  2. 为此节点提供jcr:primaryType cq:WidgetCollection。这将保留您的选项值。
  3. 现在可以将个别选项添加为此子节点,jcr:primaryTypent:unstructured
  4. 将您的媒体资源(valuetextqtip)放置在这些子节点上。