Hi,
I am using custommultifield.js for the custom multifields inside my dialog. Here i am facing one issue with dialogfieldset widget. In JCR value of selectgrid is setting properly under node parsys --> gridslider --> options --> item_1 when i submitted the dialog.
But inside item_1 my other properties are not getting store like color1,position1. Below is my dialog.xml. Any Idea how can this will be get store or what will be the exact path to store them.
<?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:Dialog" title="Slider" width="{Long}650" xtype="dialog"> <items jcr:primaryType="cq:Widget" xtype="tabpanel"> <items jcr:primaryType="cq:WidgetCollection"> <tab1 jcr:primaryType="cq:Panel" title="Slider"> <items jcr:primaryType="cq:WidgetCollection"> <typeconfigs jcr:primaryType="cq:Widget" fieldLabel="Select Videos" name="./options" xtype="customconfigmultifield"> <fieldConfigs jcr:primaryType="cq:WidgetCollection"> <gridlayout jcr:primaryType="cq:Widget" fieldLabel="Select the grid" itemId="dispotions" layout="hbox" name="selectgrid" type="radio" xtype="selection"> <options jcr:primaryType="cq:WidgetCollection"> <grid1 jcr:primaryType="nt:unstructured" text="grid1" value="grid1"/> </options> </gridlayout> <fieldset jcr:primaryType="cq:Widget" id="fieldset0" title="Optional Video" width="{Long}300" xtype="dialogfieldset"> <items jcr:primaryType="cq:WidgetCollection"> <colour jcr:primaryType="cq:Widget" fieldLabel="Colour" name="color1" type="select" xtype="selection"> <options jcr:primaryType="cq:WidgetCollection"> <one jcr:primaryType="nt:unstructured" text="Tangerine" value="tangerine"/> </options> </colour> <position jcr:primaryType="cq:Widget" fieldLabel="Position" name="position1" type="select" xtype="selection"> <options jcr:primaryType="cq:WidgetCollection"> <one jcr:primaryType="nt:unstructured" text="Top Left" value="top_left"/> </position> </items> </fieldset> </fieldConfigs> </typeconfigs> </items> </tab1> </items> </items> </jcr:root>
Thanks
Solved! Go to Solution.
Views
Replies
Total Likes
vdhim23 wrote...
Mshajiahmed wrote...
When you make changes to dialog fields, it makes an ajax request. What are the parameters being passed in ajax call
Hi, I checked the request parameters when i submitted the dialog, it seems like :
./options/item_1/selectgrid:
grid1
color1:
red
position1:
top_right
Here i like to store color1 and position1 also inside item_1, something like ./options/item_1/color1 :red ,
Here item_1 is the node which dynamically generate by multifield when i add new section in multifield.
Any Idea how this can be done.
Thanks
If you want to store these values - write a custom sling servlet (or a custom OSGi service) that uses the JCR API to can create nodes, modify nodes, retrieve nodes and then store these values on the given nodes. Its much better to write your own AEM JCR services that can store and retrieve data from the AEM JCR. You have full control over how it works and meet your business requirements.
Your component's JSP can retrieve the values entered into the multifield (the dialog) and then invoke the servlet and pass the values to store into the AEM JCR.
Views
Replies
Total Likes
When you make changes to dialog fields, it makes an ajax request. What are the parameters being passed in ajax call
Views
Replies
Total Likes
The values entered into the dialog can be retrieved from the component's JSP. If you want to post these values to an AEM servlet, write application logic in the component's JSP.
To learn how to get the dialog values - see the example Hero Component in this article:
https://helpx.adobe.com/experience-manager/using/creating-aem-multifield-components.html
SO if you want to make an AJAX request with the dialog values, better to invoke a servlet directly from the JSP and pass the values retrieved from the dialog.
Here is another community article that shows a front end component (that uses an xtype) invoking a back end servlet:
https://helpx.adobe.com/experience-manager/using/creating-custom-cq-tree.html
Views
Replies
Total Likes
Mshajiahmed wrote...
When you make changes to dialog fields, it makes an ajax request. What are the parameters being passed in ajax call
Hi, I checked the request parameters when i submitted the dialog, it seems like :
./options/item_1/selectgrid:grid1 color1:red position1:top_right
Here i like to store color1 and position1 also inside item_1, something like ./options/item_1/color1 :red , Here item_1 is the node which dynamically generate by multifield when i add new section in multifield. Any Idea how this can be done.
Thanks
Views
Replies
Total Likes
vdhim23 wrote...
Mshajiahmed wrote...
When you make changes to dialog fields, it makes an ajax request. What are the parameters being passed in ajax call
Hi, I checked the request parameters when i submitted the dialog, it seems like :
./options/item_1/selectgrid:
grid1
color1:
red
position1:
top_right
Here i like to store color1 and position1 also inside item_1, something like ./options/item_1/color1 :red ,
Here item_1 is the node which dynamically generate by multifield when i add new section in multifield.
Any Idea how this can be done.
Thanks
If you want to store these values - write a custom sling servlet (or a custom OSGi service) that uses the JCR API to can create nodes, modify nodes, retrieve nodes and then store these values on the given nodes. Its much better to write your own AEM JCR services that can store and retrieve data from the AEM JCR. You have full control over how it works and meet your business requirements.
Your component's JSP can retrieve the values entered into the multifield (the dialog) and then invoke the servlet and pass the values to store into the AEM JCR.
Views
Replies
Total Likes