Я зависим от получения json-структуры (или чего-то подобного) из диалогового окна AEM cq-DOM на DOM на странице рендеринга, где я забираю ее с помощью рендеринговой страницы JS.Несколько свойств из шаблона cq-dialog to dom AEM
Визуальный шаблон страницы выглядит примерно так: здесь метки данных представляют собой json-содержащие поля диалога. Как вы видите, я вручную напечатал все поля/свойства:
<div id="myApp"
data-service="${properties.applicationService}"
data-labels="{"title":"${properties.title}","sub1":"${properties.sub1}","number":"${properties.number}"}"></div>
Я скорее хотел бы быть в состоянии забрать все метки более динамично: data-labels = ${properties.labels}
Могу ли я получить все «метка» свойства от cq-dialog для шаблона как одного свойства?
В моем диалоговом окне есть несколько полей, как показано ниже, все свойства на tab1 считаются свойствами «метки» (и, следовательно, должны быть добавлены в атрибут метки данных элемента #myApp).
<?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"
title="my Application"
xtype="dialog">
<items jcr:primaryType="cq:WidgetCollection">
<tabs jcr:primaryType="cq:TabPanel">
<items jcr:primaryType="cq:WidgetCollection">
<tab1
jcr:primaryType="cq:Widget"
title="Texts and Labels"
xtype="panel">
<items jcr:primaryType="cq:WidgetCollection">
<title
jcr:primaryType="cq:Widget"
fieldDescription="The title of the page."
fieldLabel="blablabla"
name="./title"
defaultValue="default value..."
xtype="textfield"/>
<sub1
jcr:primaryType="cq:Widget"
fieldDescription="First subtitle"
fieldLabel="blablba"
name="./subtitle1"
defaultValue="default value..."
xtype="textfield"/>
<number
jcr:primaryType="cq:Widget"
fieldDescription="The textfield label for number."
fieldLabel="number"
name="./number"
defaultValue="number"
xtype="textfield"/>
</items>
</tab1>
...
Вы знаете, если это возможно, чтобы получить массив свойств сразу? Поэтому я могу сделать JS более динамичным. Пример: я могу псевдоним всех свойств в диалоге cq: «label-mylabel» (где mylabel = название, sub1, число и т. Д.), А затем отфильтровывать их из остальной части с помощью некоторой функции «содержит (« label- ») в javascript, в результате чего объект объектов целиком динамически строится. –
Вы можете перебирать дочерние ресурсы ресурса на Java. Не знаете, как это сделать в JS. Я посмотрю на это и вернусь к вам. – toniedzwiedz
@DavidKarlsson проверить изменения. – toniedzwiedz