2012-09-23 20 views
24

में फॉर्म संग्रह में ड्रिग का उपयोग करके हमारी नई परियोजना के लिए, हमने ज़ेंड फ्रेमवर्क 2 और डोजो 1.8 का उपयोग करना शुरू कर दिया है। जेडएफ 2 में पूरी तरह से फिर से लिखा गया मॉड्यूल है, जिसमें अब एक से कई रिश्तों के लिए नए संग्रह एलीमेंट की सुविधा है। यूआई के बारे में मुझे लगता है कि, ड्रिग्रिड ऐसे रिश्तों (संपादक कॉलम प्लगइन का उपयोग करके) के लिए सबसे अच्छा फिट बैठता है, इसलिए मैंने फॉर्मकोलेक्शन, फॉर्मरो और फॉर्म एलिमेंट व्यू हेल्पर्स को विस्तार करना शुरू किया, ताकि वे वांछित ड्रिग्रिड प्रस्तुत कर सकें। सब कुछ ठीक था जब तक मुझे एहसास नहीं हुआ, कि मैं ड्रिग विजेट के लिए प्रति पंक्ति इनपुट नाम सेट नहीं कर सकता।ज़ेंड फ्रेमवर्क 2 एप्लिकेशन

मैंने ZF2 documentation rearding form collections के साथ शुरू किया। एक देख सकते हैं, कि संग्रह इनपुट तत्वों की तरह

order[products][0][name] 
order[products][0][price] 
order[products][1][name] 
order[products][1][price] 

दूसरी ओर सरणी की तरह नाम है, dgrid के विन्यास स्तंभ आधारित है, इसलिए मैं की तरह

editor({ 
    field: "_dojo_textbox_505ee3a390d705_26717315", 
    label: "Name", 
    editorArgs: { 
     name: "order[products][{index}][name]", 
    } 
}, TextBox) 

यह कॉलम परिभाषा एक स्तंभ परिभाषा हो सकती है परिभाषित करेगा कि सभी पंक्तियों के लिए एक ही विजेट नाम सेट करें, जो ZF2 संग्रह डेटा स्वरूप आवश्यकता के साथ काम नहीं करता है।

मैं भी क्या करने की कोशिश की इस तरह स्तंभ नामकरण है:

order[products][] 

जो काम करता है, लेकिन वांछित प्रारूप

order[products][][name] 

हो सकता है कि वहाँ एक रास्ता इस तरह डेटा पोस्ट करने के लिए है की अनुमति नहीं है :

order[products][name][] 

और बाद में इसे परिवर्तित कर दिया है, लेकिन समाधान सही नहीं दिखता है। इसके अलावा मैं पुन: प्रयोज्य कोड का उत्पादन करने की कोशिश कर रहा हूं और प्रति-फॉर्म डेटा संशोधनों से बचना चाहता हूं। dgrid प्रति-पंक्ति विजेट के नाम को स्थापित करने के लिए 2. ZF2 प्रपत्र कुछ other- को समझने में सक्षम 1. मेक:

जब से मैं बहुत मुश्किल कोशिश कर रहा हूँ डेटा रूपांतरण के लिए से निपटने ऑनसबमिट/onClick ईवेंट से बचने के लिए, वहाँ 2 संभव समाधान हैं संग्रह के लिए मानक POST प्रारूप

दुर्भाग्य से मैं विचारों से बाहर हो गया, उन समाधानों में से कोई भी कैसे किया जा सकता है, इसलिए यदि आप मुझे इसके साथ हाथ दे सकते हैं तो मैं सबसे अधिक आभारी रहूंगा!

चूंकि यह मेरे वर्तमान प्रश्न से कुछ हद तक संबंधित है, इसलिए मैं इसे यहां एक साइड प्रश्न के रूप में रखूंगा: इस यूआई समाधान के अलावा आप डोजो के साथ अपने एक से कई फॉर्म इंटरफेस के लिए क्या उपयोग करते हैं?

उत्तर

1

ज़ेंड फ्रेमवर्क संस्करण 2 में, "ज़ेंड \ फ़ॉर्म" में गतिशील रूप से "संग्रह तत्व" में नए तत्व जोड़ने की क्षमता है।

आप इसे देख सकते हैं here