मैं दिन सीक्यू 5 के साथ साइट विकसित करता हूं और समस्या का सामना कर रहा था। मैं एक घटक बना रहा हूं, और इसके लिए संवाद बना रहा हूं। मैं घटक तत्व "मल्टीफ़िल्ड" के लिए संवाद में उपयोग करता हूं, जिसमें कई तत्व "पथ क्षेत्र" शामिल हैं। मैं "पथक्षेत्र" तत्वों की एक विशिष्ट संख्या कैसे सेट कर सकता हूं और "+" और "-" बटन हटा सकता हूं?सीक्यू 5 में मल्टीफाल्ड में तत्वों की संख्या को सीमित कैसे करें?
उत्तर
मैं इस सप्ताह इस सटीक समस्या का सामना करना पड़ा :)
ऐसा लगता है कि डिफ़ॉल्ट रूप से आप आइटम संपादक दर्ज कर सकते हैं की संख्या को सीमित नहीं कर सकते। समस्या को हल करने के लिए, मैं Multifield.js का ओवरले
/apps/cq/ui/widgets/source/widgets/form/MultiField.js
पर रखा मैं एक 'सीमा' संपत्ति multifield तहत fieldConfig नोड पर सेट का एक चेक जोड़ दिया है बनाया। यदि वर्तमान & शून्य नहीं है, तो यह इसका उपयोग उस फ़ील्ड की अधिकतम संख्या के रूप में करेगा जो उपयोगकर्ता जोड़ सकता है।
पूर्ण ओवरले पोस्टिंग द्वारा कॉपीराइट मुद्दों में पाने के लिए नहीं करना चाहते, लेकिन बदलाव जहां इस प्रकार मैं बनाया:
निर्माता में (लाइन # 53), एक जांच में जोड़ने के मूल्य प्राप्त करने के fieldConfig नोड से सीमा:
if (!config.fieldConfig.limit) {
config.fieldConfig.limit = "0";
}
"+" बटन के लिए हैंडलर में (लाइन # 71) निम्न के समारोह को बदलने: बल्कि बटन को हटाने से
if(config.fieldConfig.limit == 0 || list.items.getCount() <= config.fieldConfig.limit) {
list.addItem();
} else {
CQ.Ext.Msg.show({
title: 'Limit reached',
msg: 'You are only allowed to add ' + config.fieldConfig.limit +
' items to this module',
icon:CQ.Ext.MessageBox.WARNING,
buttons: CQ.Ext.Msg.OK
});
}
, मैंने अभी संपादक को सूचित करने के लिए एक पॉप-अप बनाया है कि 'एन फ़ील्ड की अधिकतम संख्या है'।
सरल परिवर्तन, लेकिन काम करता है! उम्मीद है कि यह उपयोग है।
मुझे अभी तक इस समस्या का एक मानक समाधान नहीं मिला है, लेकिन थोड़ी सी चाल आई है। सबसे पहले मैं घटक की एक संवाद के माध्यम से आवश्यक संख्या में बच्चों-तत्वों को जोड़ता हूं। और फिर मैं संपत्ति "वर्ग" तत्व को "मल्टीफ़िल्ड" में जोड़ता हूं, उदाहरण के लिए "स्लाइडर पैनेल-डायलॉग-मल्टीफ़िल्ड"। तब मैं घटक सीएसएस शैली इस तरह के निर्माण में जोड़ें:
.sliderpanel-dialog-multifield .x-btn{
display: none;
}
".x-btn" एक वर्ग CQ5 में बटन का उपयोग करता है है। उसके बाद, बटन छुपाए जाएंगे और आप मल्टीफ़ील्ड में तत्वों को जोड़ या हटा नहीं सकते हैं। मेरे पास एक और सुझाव है कि श्रोताओं और लिपि की मदद से इस समस्या को हल किया जा सकता है, लेकिन इसे हल करना मुश्किल होगा, जिसे मैंने ऊपर उद्धृत किया था। मैंने अब तक इस संस्करण पर ध्यान केंद्रित किया है, लेकिन यदि आपके पास अन्य विचार हैं, तो मुझे उन्हें जानना बहुत दिलचस्पी होगी।
आप श्रोताओं को मल्टीफाल्ड नोड के समानांतर में भी जोड़ सकते हैं। उदाहरण के लिए
घटना: beforeadd
फंक्शन:
function(list,component,index) {
if(this.fieldConfig.limit!=0) {
if(this.fieldConfig.limit == (list.items.getCount()-1)) {
CQ.Ext.Msg.show(
{title: 'Limit reached', msg: 'You are only allowed to add '+this.fieldConfig.limit+' items to this module',icon:CQ.Ext.MessageBox.WARNING,buttons: CQ.Ext.Msg.OK}
);;return false;
}
}
}
आवश्यक: multifield की fieldConfig को सीमा मान जोड़ें।
पहले से समाधान के साथ कोई समस्या प्रतीत होती है: फ़ॉर्म/संवाद एक अमान्य स्थिति में बन जाता है, जो हमें चिह्नित फ़ील्ड को सही करने के लिए कहता है ... लेकिन सबकुछ सही है।
क्या फॉर्म सत्यापन को फिर से शुरू करने का कोई तरीका है?
इस पोस्ट का संदर्भ लें जहां सीमा समाप्त हो जाने के बाद मैंने आइटम जोड़ें बटन को हटाकर कार्यक्षमता को कार्यान्वित किया है।
http://letsaem.blogspot.in/2015/12/add-limit-to-number-of-elements-in.html
हालांकि कार्यान्वयन की प्रक्रिया है:
- सीमा जोड़ें ** (लंबी) ** fieldConfig नोड के लिए संपत्ति
- multifield xtype श्रोताओं नोड जोड़ें और निम्न श्रोताओं को जोड़ने ।
removeditem:
function(list) {
var length = list.items.length;
if (length <= list.fieldConfig.limit) {
list.items.items[length - 1].show();
}
}
beforeadd:
function(list, component, index) {
var length = list.items.length;
var addButton = list.items.items[length - 1];
if (length == list.fieldConfig.limit) {
addButton.hide();
}
}
अब अगर आप सीमा दे: 3
आइटम जोड़ें बटन गायब हो जाएगा 3
आइटम जोड़ने के बादआइटम जोड़ें बटन गायब हो जाता है:
- 1. सीक्यू 5
- 2. एडोब सीक्यू 5
- 3. चैनल में तत्वों की संख्या
- 4. संरचना में तत्वों की संख्या कैसे प्राप्त करें?
- 5. दशमलव संख्या को सीमित कैसे करें?
- 6. log4j2 - लॉग फ़ाइलों की संख्या को सीमित
- 7. JTextField: charaters की संख्या को सीमित करने के लिए कैसे?
- 8. जावास्क्रिप्ट ऑब्जेक्ट में तत्वों की संख्या
- 9. सूची तत्वों की संख्या को सीमित करने के लिए jQuery का उपयोग
- 10. JTextField में वर्णों की संख्या को सीमित करने के लिए कैसे?
- 11. अपलोड की गई फ़ाइलों की संख्या को सीमित और सीमित करें (HTML फ़ाइल इनपुट)
- 12. पूर्णांक लेबल में d3.svg.axis को कैसे सीमित करें?
- 13. धागे की स्प्रिंग @Async संख्या सीमित
- 14. .NET में StreamReader.ReadLine() द्वारा पढ़े गए वर्णों की संख्या को सीमित कैसे करें?
- 15. नेक्सस में तैनात स्नैपशॉट कलाकृतियों की संख्या को सीमित कैसे करें?
- 16. वर्डप्रेस पोस्ट में वर्गीकरण मूल्यों की संख्या को सीमित कैसे करें?
- 17. छवियों की संख्या को पंक्ति में तीन तक सीमित कैसे करें?
- 18. टेक्स्ट क्षेत्र में प्रति पंक्ति वर्णों की संख्या को निश्चित मान पर कैसे सीमित करें
- 19. jQuery में तत्वों की पहली एन संख्या कैसे दिखाएं?
- 20. आईओएस 5 में एक साथ NSRLConnection अनुरोधों की संख्या तक सीमित?
- 21. मैं SQL में फ़ील्ड मान प्रति पंक्तियों की संख्या को कैसे सीमित करूं?
- 22. एडोब सीक्यू
- 23. मज़बूती से एक सरणी में तत्वों की संख्या का निर्धारण
- 24. Django: OnetoMany रिश्तों में रिश्तों की संख्या सीमित करना
- 25. बड़ी संख्या में एचडीएफ 5 फाइलों को संगत करें
- 26. UITableview प्रदर्शित करने वाले कक्षों की संख्या को सीमित कैसे करें?
- 27. एचटीएमएल 5 में मान्य नहीं मेटा तत्वों को कैसे संभालें?
- 28. वॉटर में एचटीएमएल में एक ही विशेषता वाले तत्वों की संख्या कैसे प्राप्त करें?
- 29. असफल लॉगिन प्रयासों की संख्या सीमित करना
- 30. मैं पाइथन में सक्रिय धागे की संख्या को कैसे सीमित करूं?
आप इस सवाल का जवाब कर सकते हैं? http://stackoverflow.com/questions/28361998/how-to-provide-custom-value-on-checkbox-in-cq5-dialog – user2142786