ज़ेंड फ्रेमवर्क 2, two new form elements were added के नए रिलीज़ संस्करण के साथ; DateSelect
और MonthSelect
। मैं पूर्व का उपयोग करना चाहता हूं, जो तीन चयन जोड़ता है; दिन, महीना और साल। हालांकि, मुझे आउटपुट को स्वरूपित करने में समस्या है जो मैं चाहता हूं - और, इसके लिए कोई दस्तावेज नहीं है!ज़ेंड फ्रेमवर्क 2 दिनांक चयन/माह चयन स्वरूपण
मैं इस तरह मेरी फार्म के लिए प्रपत्र तत्व जोड़ कर रहा हूँ (this page से लिया गया):
$this->add(array(
'type' => 'Zend\Form\Element\DateSelect',
'name' => 'birthDate',
'options' => array(
'label' => 'Date',
'create_empty_option' => true,
'day_attributes' => array(
'data-placeholder' => 'Day',
'style' => 'width: 20%',
),
'month_attributes' => array(
'data-placeholder' => 'Month',
'style' => 'width: 20%',
),
'year_attributes' => array(
'data-placeholder' => 'Year',
'style' => 'width: 20%',
)
)
));
outputting के लिए, मैं इस तरह कर रहा हूँ:
echo $this->formDateSelect($form->get('birthDate'));
बात यह है कि मैं डॉन यह नहीं पता कि चयन किस प्रकार स्वरूपित हैं। उदाहरण के लिए, वे वर्तमान में इस फ़ॉर्म में outputted हैं: [month] [day], [year]
। मैं दो चीजें बदलना चाहता हूं; सबसे पहले, मैं दिन और महीने स्विच करना चाहता हूं, और दूसरी बात, मैं अल्पविराम से छुटकारा पाना चाहता हूं।
सहायक उपकरण चयन करने के लिए IntlDateFormatter
कक्षा का उपयोग करते हैं। स्रोत कोड में, मैंने देखा है कि आप जब __invoke()
[link to source code] बुला, इस तरह की तारीख प्रकार के लिए predefined constants उपयोग कर सकते हैं:
echo $this->formDateSelect($form->get('birthDate'), IntlDateFormatter::SHORT);
स्थिरांक के सभी की कोशिश की करने के बाद, मैं अभी भी प्रारूप मैं चाहता हूँ नहीं मिल सकता है।
मैंने देखा कि तीन चयनों के लिए गेटर्स हैं, लेकिन formSelect
का उपयोग करके उनमें से प्रत्येक के साथ सहायक देखें, खाली चयन प्रदान किए जाते हैं क्योंकि डेटा जनसंख्या नए दृश्य सहायकों के भीतर होती है। इसलिए कि व्यक्तिगत रूप से चयनों का उपयोग करने के उद्देश्य से काफी हद तक हराया जाता है; तो मैं नियमित रूप से नियमित चयन का भी उपयोग कर सकता हूं।
क्या किसी को भी कोई विचार है कि मैं अपने चयन कैसे प्रारूपित करता हूं इस पर अधिक नियंत्रण प्राप्त कर सकता हूं? क्या यह बहुत अधिक परेशानी के बिना भी संभव है, या क्या मुझे अधिकतम लचीलापन के लिए केवल तीन नियमित चयनों का उपयोग करना चाहिए?
मैं बस यह मान रहा था कि यह मेरी कॉन्फ़िगरेशन से लोकेल का उपयोग कर रहा था इसलिए मैंने इसे छोड़ दिया। लोकेल बदलना, यह हमेशा मुझे वह नहीं देता जो मैं चाहता हूं (उदाहरण के लिए, मेरे देश के लिए यह मुझे एक प्रारूप देता है जिसे मैं पसंद नहीं करता)। हालांकि, मैं भाग्यशाली था कि मेरी लक्षित भाषा के लिए, प्रारूपण बिल्कुल ठीक है कि मैं इसे कैसे चाहता हूं! मैंने ऐसा किया: 'यह $ echo-> formDateSelect ($ this-> form-> get (' birthDate '), IntlDateFormatter :: लंबा,' ro_RO '); '। आपके उत्तर के लिए बहुत बहुत धन्यवाद - यह बहुत सराहना की है! – Andy0708