2012-05-07 19 views
16

में डिफ़ॉल्ट चेक किए गए चेकबॉक्स प्राप्त करना मैं संपादन करते समय एक घटक संवाद पर डिफ़ॉल्ट चेक चेकबॉक्स रखने का प्रयास कर रहा हूं। यहाँ मैदान पर गुण हैं:सीक्यू 5

jcr:primaryType: widget 
checked: true (boolean) *Documentation says this determines default checked status 
type: checkbox (string) *read this as a fix to making checkbox selections stick 
xtype: selection (string) 
name: ./foo (string) 
fieldValue: true (string) 

उत्तर

17

हाँ, ऐसा लगता है the documentation की तरह एक छोटे से wonky है।

defaultValue (String) true 
fieldLabel (String) Foo Mode 
inputValue (String) false 
jcr:primaryType (Name) cq:Widget 
name (String) ./foomode 
type (String) checkbox 
xtype (String) selection 

DefaultValue संपत्ति कुंजी प्रतीत होता है: मैं कुछ प्रयोग, और गुण के इस संयोजन मेरे लिए काम करता था।

आपके पास सीसीटी है: विजेट आपके प्राथमिक प्रकार के लिए, विजेट नहीं, है ना?

+2

आपको बहुत बहुत धन्यवाद। मैं इस संयोजन को अपने आप नहीं बनाया होता। चलो, एडोब, अपने दस्तावेज़ों को बेहतर तरीके से प्रबंधित करें! –

+0

मुझे एक ही समस्या का सामना करना पड़ा है और अपर्याप्त सीक्यू दस्तावेज से भी बदतर हो गया है। इस में गहराई से देखकर, उपर्युक्त संयोजन संवाद पर "चेक" चेकबॉक्स सफलतापूर्वक प्रस्तुत करेगा, लेकिन इसके परिणामस्वरूप अंतर्निहित जेसीआर प्रॉपर्टी को इस चेकबॉक्स तत्व का प्रतिनिधित्व नहीं किया जाएगा, यानी इस चेकबॉक्स के लिए पूर्व-निर्मित कोई ./foomode प्रॉपर्टी नहीं है, यह केवल उपयोगकर्ता के संवाद तक पहुंचने के बाद ही बनाया जाएगा और कोई भी परिवर्तन नहीं करते समय भी "ठीक" बटन दबाएगा। –

+0

नोड गुण तब तक नहीं बनाए जाते जब तक कोई पोस्ट अनुरोध उन्हें बनाता है। साथ ही, याद रखें कि चेकबॉक्स तब तक सबमिट नहीं किया जाता जब तक कि यह चेक न हो। यह सीक्यू का एक कार्य नहीं है, यह HTML विनिर्देशों में है और ब्राउज़र द्वारा कार्यान्वित किया गया है। यदि आप चेकबॉक्स चेक किए गए हैं या नहीं, इस पर ध्यान दिए बिना नोड प्रॉपर्टी बनाना चाहते हैं, तो SlingPostServlet के @UseDefaultWhenMissing प्रत्यय का उपयोग करें। अपाचे स्लिंग डॉक्स देखें: https://sling.apache.org/documentation/bundles/manipulating-content-the-slingpostservlet-servlets-post.html#usedefaultwhenmissing। – nateyolles

5

<nodeName 
jcr:primaryType="cq:Widget" 
fieldLabel="check this nodename" 
name="./nodeName" 
defaultValue="{Boolean}false" 
type="checkbox" 
xtype="selection" /> 

<nodeNameHint 
    jcr:primaryType="cq:Widget" 
    ignoreData="{Boolean}true" 
    name="./[email protected]" 
    value="Boolean" 
    xtype="hidden"/> 
1

जाँच और का डिफ़ॉल्ट मान के साथ चेकबॉक्स सेट करने के लिए JCR में (बजाय एक स्ट्रिंग की तुलना में) एक बूलियन संपत्ति प्रकार के रूप में संपत्ति को बचाने के लिए इस एक बूलियन के रूप में सहेजा है करने के लिए ... , निम्नलिखित क्लासिक UI सेटिंग्स का उपयोग करें:

<myCheckbox 
    jcr:primaryType="cq:Widget" 
    fieldLabel="My Checkbox" 
    name="./myCheckbox" 
    value="true" 
    defaultValue="true" 
    checkboxBoolTypeHint="{Boolean}true" 
    type="checkbox" 
    xtype="selection"/> 

या ग्रेनाइट टच यूआई में निम्न सेटिंग का उपयोग:

<myCheckbox 
    jcr:primaryType="nt:unstructured" 
    sling:resourceType="granite/ui/components/foundation/form/checkbox" 
    text="My Checkbox" 
    name="./myCheckbox" 
    value="true" 
    checked="true"/> 
<myCheckboxType 
    jcr:primaryType="nt:unstructured" 
    sling:resourceType="granite/ui/components/foundation/form/hidden" 
    name="./[email protected]" 
    value="Boolean"/> 

http://www.nateyolles.com/blog/2015/11/aem-checkboxes-using-sling-post-servlet पर एक विस्तृत लेखन और डेमो है।