2012-09-03 17 views
19

में optgroup साथ चयन करें में Symfony2, select एचटीएमएल घटक एक ChoiceType वस्तु है, जो वास्तव में checkboxes और radiobuttons के लिए भी प्रयोग किया जाता है के रूप में प्रदान की गई है।Symfony 2.0

किसी वास्तव में पता कैसे Symfony2 में optgroup विकल्प के साथ एक का चयन करने के लिए प्रस्तुत करना है?

पूर्णता के लिए के लिए, यहाँ मैं एक का एक उदाहरण (w3cschools से उदाहरण) की रिपोर्ट optgroup टैग के साथ का चयन करें:

<select> 
    <optgroup label="Swedish Cars"> 
    <option value="volvo">Volvo</option> 
    <option value="saab">Saab</option> 
    </optgroup> 
    <optgroup label="German Cars"> 
    <option value="mercedes">Mercedes</option> 
    <option value="audi">Audi</option> 
    </optgroup> 
</select> 

इसके अलावा, नोटिस एक समान पद here है कि वहाँ है, लेकिन जवाब विश्वास नहीं कर रहे हैं।

+0

यह ([दस्तावेज़ नहीं देख] (http://symfony.com/doc/master/reference/forms/types/entity.html#group- sf2.1 में तय किया जा रहा है द्वारा))। क्या आप sf2.0 या sf2.1 का उपयोग कर रहे हैं? – j0k

+0

एसएफ 2.0! लेकिन एसएफ 2.1 अब आरसी 2 पर है! तो, पहले 2.1 स्थिर रिलीज की प्रतीक्षा करना बेहतर है ... क्या मुझे प्रश्न रद्द करना चाहिए? – JeanValjean

+0

कोई बंद नहीं है, वहाँ sf2.0 पर optgroup करने के लिए एक कामकाज हो सकता है, लेकिन मुझे यह नहीं पता। – j0k

उत्तर

34

यह करें:

$car_choices = array(
    'Swedish Cars' => array(
     'volvo' => 'Volvo', 
     'saab' => 'Saab', 
    ), 
    'German Cars' => array(
     'mercedes' => 'Mercedes', 
     'audi' => 'Audi' 
    ) 
); 

$form = $this->createFormBuilder() 
     ->add('car', 'choice', array(
      'label' => 'Choose your car', 
      'choices' => $car_choices, 
      )) 
     ->getForm(); 

वर्क्स Symfony 2.0.x

+1

यह मेरे Symfony2.0.17 ऐप में एक आकर्षण की तरह काम करता है! Muchas gracias ... – JeanValjean

+0

सिम्फनी 1.x: सरणी की सरणी में बहुत पसंद है। – j0k

+0

बिल्कुल सही! इकाइयों का उपयोग करने के लिए महान विकल्प। –

16

यह निर्भर करता है कि कैसे अपनी इकाई परिभाषित किया गया है के लिए और कैसे आप अपने इकाई समूह। समूह को मानना ​​आपके ऑब्जेक्ट में पैरामीटर दिया गया है, आइए "ब्रांड" कहें। आप कर सकते हैं:

$builder->add('cars', null, array(
    'group_by'=> 'brand' 
)); 
+0

आत्म संदर्भ के बारे में कैसे। श्रेणी और उप श्रेणी की तरह? –

+0

@Daskul क्षमा करें मुझे समझ में नहीं आता कि आपका क्या मतलब है। – Sylvain

+0

स्वयं संदर्भ संबंध। आपके पास एक ऐसी इकाई है जिसमें उसी इकाई प्रकार का संदर्भ उसके माता-पिता के रूप में है। श्रेणी की तरह। मैं अपनी सभी श्रेणियों को एक डेटाबेस तालिका में चाहता हूं लेकिन फिर भी पदानुक्रम बनाने में सक्षम हूं। पूर्व। मैं कम्प्यूटर, लैपटॉप, डेस्कटॉप की श्रेणी बनाउंगा लेकिन मैं लैपटॉप और डेस्कटॉप को कॉम्प्यूटर श्रेणी –

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