CQ5 - Динамически заполненные параметры в выборе xtype
Я уже несколько часов бьюсь головой об этом. Я пытаюсь динамически заполнить параметры в xtype выбора и не могу заставить его работать. Вот мой dialog.xml
<resourceType
jcr:primaryType="cq:Panel"
title="Header Type">
<items jcr:primaryType="cq:WidgetCollection">
<headerType
jcr:primaryType="cq:Widget"
fieldLabel="Header Type"
name="./headerType"
type="select"
xtype="selection">
<options jcr:primaryType="cq:WidgetCollection">
<categories
jcr:primaryType="cq:Widget"
path="/content/admin/adminView/jcr:content/header-admin-content/cats/type.infinity.json"
width="500"
xtype="cqinclude" />
</options>
</headerType>
</items>
</resourceType>
JSON, который я создаю для:
content/admin/adminView/jcr:content/header-admin-content/cats/type.infinity.json
Выглядит примерно так:
{"jcr:primaryType":"nt:unstructured","item_1":
{"jcr:primaryType":"nt:unstructured","text":"small","parameter":"small"},"item_2":
{"jcr:primaryType":"nt:unstructured","text":"medium","parameter":"medium"},"item_3":
{"jcr:primaryType":"nt:unstructured","text":"large","parameter":"large"},"item_4":
{"jcr:primaryType":"nt:unstructured","text":"none","parameter":"none"}}
Когда я иду, чтобы открыть диалоговое окно, ничего не происходит, я просто получаю ошибку JS TypeError: snippet.xtype не определен
Любая помощь приветствуется!
1 ответ
Варианты для selection
xtype может быть установлен динамически двумя способами
- установка свойства options в путь, который возвращает массив параметров JSON
- Написание функции, которая устанавливает параметры (используя метод setOptions), и передачу этой функции в качестве значения для свойства optionsProvider.
В обоих случаях данные, возвращаемые в JSON, должны быть массивом.
Чтобы использовать метод 1, на наборе узла headerType options
свойство к пути, который предоставит данные JSON. Задавать optionsRoot
свойство имени свойства, которое содержит массив JSON. Задавать optionsTextField
к имени свойства в данных JSON, которое должно быть текстом. Задавать optionsValueField
к имени свойства в данных JSOn, которое должно быть значением.
Подробное руководство по этому вопросу можно найти здесь: http://jenikya.com/blog/2013/04/dynamic-dialog-data-in-cq5.html
Для метода 2 обратитесь к этому