2017-09-20 18 views
5

मेरे पास एक छोटा सा मुद्दा है, मैं सोनाटा का उपयोग करके एक छोटी परियोजना पर काम कर रहा हूं, लेकिन मैं यह समझने की कोशिश कर रहा हूं कि तिथि सीमा को कैसे अनुकूलित किया जा सकता है, जिसे कोई व्यक्ति दिनांक चुन सकता है, उदाहरण 1 जनवरी 2000 से 31 दिसंबर 2020 तक क्या कोई मुझे बता सकता है कि मैं सोनाटा दस्तावेज में कहां पा सकता हूं या मुझे यह कैसे दिखा सकता हूं? क्योंकि मेरे पास थोड़ा सा नजर है और मेरे पास तारीखों की पसंद को पूरी तरह से अनुकूलित करने के लिए कुछ भी नहीं है।सोनाटा तिथि सीमा

अग्रिम

संपादित करें धन्यवाद:

सिम्फोनी प्रलेखन में मैं यहाँ इस

'days' => range(1,31) 

पाया: http://symfony.com/doc/current/reference/forms/types/date.html

लेकिन मैं सोनाटा दस्तावेज़ में कुछ भी नहीं मिला सकते हैं। और Symfony पर की तरह काम नहीं कर रहा:/

उत्तर

3

मैं तुम्हें सोनाटा में sonata_type_date_picker फ़ील्ड का उपयोग मान। दस्तावेज़ीकरण here है। तो फिर अपने मामले को इस तरह लागू किया जा सकता:

->add('userDate', 'sonata_type_date_picker', [ 
    'dp_min_date' => 'Jan 1, 2000', //todo: date format here depends on your setup. Basicly it's the same format, you see in text field after you selected data in datepicker. 
    'dp_max_date' => 'Dec 31, 2020', 
]); 

वैकल्पिक रूप से आप 3 ड्रॉपडाउन के साथ दिनांक चयनकर्ता हो सकता है - यह मानक Symfony तारीख क्षेत्र है, SonataAdmin साथ ठीक काम करता है:

->add('userDate', 'date', [ 
    'years' => range(2000, 2020), 
]); 

मैं भी सिफारिश करेंगे समान नियमों (इकाई में) के साथ बैकएंड सत्यापन जोड़ने के लिए:

/** 
* @var \DateTime() 
* 
* @Assert\Range(
*  min = "2000-01-01", 
*  max = "2020-12-31" 
*) 
*/ 
protected $userDate; 
+0

धन्यवाद, लेकिन मैंने इसका इस्तेमाल किया लेकिन मैं उन्हें नहीं चुन सकता। अब यह उपयोग करने से पहले टेक्स्ट क्षेत्र की तरह है -> जोड़ें ('userDate', 'date', ....) और मैं इसे चुनने में सक्षम था। यह उपयोगकर्ताओं के लिए अधिक आसान था। क्या आप जानते हैं कि मैं 'sonata_type_date_picker' – Jeremy

+1

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

+0

यदि 3 ड्रॉप डाउन होना संभव है तो यह सही होगा – Jeremy

संबंधित मुद्दे