2015-12-15 9 views
5

मुझे सिम्फनी 2.7 में एंटीटी टाइप फ़ील्ड की प्रत्येक पसंद में एक अतिरिक्त HTML विशेषता जोड़ने की आवश्यकता है।सिम्फनी 2.7 विकल्प_टीआर EntityType फ़ील्ड

this मार्गदर्शिका के बाद, मुझे लगता है कि EntityType को ChoiceType से यह सुविधा प्राप्त होती है। मैंने निम्नलिखित की तरह कुछ करने की कोशिश की, लेकिन प्रभाव के बिना; प्रस्तुत किए गए चयन विकल्पों में कोई मायटाइप विशेषता नहीं जोड़ा जाता है।

$builder->add('customer_email', 'email') 
     ->add('Product', 'entity', array(
       'class' => 'MyBundle:Product', 
       'property' => 'name', 
       'empty_value' => 'None', 
       'required' => false, 
       'choice_attr' => function ($val, $key, $index) { 
        return array('mytype' => $val->getType()); 
       })) 
+0

आपकी पसंद विकल्पों के तत्वों में "mytype" विशेषता नहीं है? –

+0

यह सही है। क्षमा करें, इस सवाल में यह गलत हो गया; इसे संपादित किया – dmb

उत्तर

9

यह आवश्यक रूप से सबसे अच्छा जवाब नहीं है, लेकिन मैं अभी तक टिप्पणी पोस्ट नहीं कर सकते।

जब आदि choice_attr, choice_labels को लागू करने ... ChoiceType और EntityType पर, ऐसा लगता है जैसे choice_attr उत्तरार्द्ध पर पीछे छोड़ दिया था, वहाँ GitHub पर यह के बारे में कुछ टिप्पणी मैं व्यक्तिगत रूप से, एक ही सुविधा की जरूरत है उम्मीद है कि इसे लागू किया जाएगा रहे हैं, ।

https://github.com/symfony/symfony/issues/4067

पी.एस.: आगे जांच की, यह वास्तव में ChoiceType से प्राप्त होती है, और यह केवल 2.7 दस्तावेज में प्रकट होता है, यदि आप

'choice_attr' => function (Product $product, $key, $index) { 
    return ['class' => $product->getType() ]; 
} 

की तरह कुछ तुम वर्ग विशेषता को ठीक से सेट मिलना चाहिए लिखते हैं, कस्टम विशेषताओं के लिए मैं नहीं यकीन है, कर रहा हूँ आपको 'attr' => 'foo' का उपयोग करने की आवश्यकता हो सकती है।

पीपीएस।: 'foo' =>'bar' परीक्षण किया गया और यह काम करता है, 'attr' के अंदर घोंसले की आवश्यकता नहीं है।

+2

ओएमजी! आपको दस्तावेज़ों में यह कहां मिला? मैंने डॉक्स में इसके लिए खोज करने में घंटों खर्च किए हैं। Thnkx !!! –

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