SilverStripe PHP Forms - यदि मैं एक FieldGroup के अंदर एक SelectionGroup को घोंसला देता हूं, तो संबंधित SelectionGroup_Items के रेडियो बॉक्स में से एक दिखाई नहीं देता है। क्यों?


122

मेरे पास एक फॉर्म है जिसमें दो FieldGroupएस हैं, और एस में से एक में FieldGroupमेरे पास है SelectionGroup

SelectionGroup_Itemरों रूप में दिखाई FieldGroupलेकिन रेडियो बॉक्स विकल्प प्रदर्शित नहीं करता है में से एक को चुनने के लिए। अगर मैं FieldGroupइसे हटाता हूं तो फिर से काम करता है।

मैं ढांचे टेम्पलेट्स देखा है, और अगर मैं बदल FieldGroup_holder.ss SmallFieldHolderकरने के लिए FieldHolderरेडियो बॉक्स को सही ढंग से फिर से और काम दिखाई देते हैं। मैंने यह देखने के लिए टेम्प्लेट का अनुसरण करने की कोशिश की है कि कोई किसका पालन नहीं कर SelectionGroupरहा है लेकिन मैं खोता रहता हूं।

यहाँ कोड का एक उदाहरण बिट है

$fields = FieldList::create(
    FieldGroup::create(
        TextField::create('Name', 'Name')
    ),
    FieldGroup::create(
        SelectionGroup::create(
            'Test1or2',
            array(
                SelectionGroup_Item::create(
                    'Test1', array(
                        TextField::create('Test1', 'Test1')
                    ),
                    'Test1'
                ),
                SelectionGroup_Item::create(
                    'Test2', array(
                        TextField::create('Test2', 'Test2')
                    ),
                    'Test2'
                )
            )
        )
    )
),
FieldList::create(
    FormAction::create('submit', 'Submit')
)

6
सिलेक्टग्रुप की तरह लगता है कि SelectionGroup_small.ssजब आप घोंसले के क्षेत्र में उपयोग किया जाता है एक टेम्पलेट नहीं है । बस इसे अपने विषय में बनाएँ और इसे संशोधित करें। भी github
wmk

1
@wmk के साथ ज्यादा किस्मत नहीं है। कुछ और मैं इसे काम करने के लिए कर सकता हूं?
रुडिगर

1
मैंने एक git मुद्दा भी जोड़ा है github.com/silverstripe/silverstripe-framework/issues/6637
रुडिगर

1
यह एक महान सवाल नहीं है, और मुझे नहीं पता कि यह 57 अपवॉट्स को कैसे प्राप्त करता है, विशेष रूप से कम व्यू काउंट को देखते हुए, लेकिन मुझे लगता है कि इसकी वजह से यह कहीं भी नहीं जा रहा है। आपकी समस्या उत्पन्न HTML के साथ है, लेकिन आप इसे प्रदान नहीं करते हैं, या वांछित HTML आउटपुट का उदाहरण प्रदान करते हैं। आपका कोड नमूना वाक्यविन्यास रूप से अमान्य है, और इसका कोई संदर्भ नहीं दिया जाता है कि इसका उपयोग कहाँ किया गया है। यदि आपने इसे किसी तरह हल किया है, तो आपको एक उत्तर देना चाहिए; यदि समस्या अब प्रासंगिक या प्रतिलिपि प्रस्तुत करने योग्य नहीं है, तो आपको प्रश्न को हटा देना चाहिए।
miken32

6
@ miken32 यह विशेष रूप से सिल्वरस्ट्रिप फ्रेमवर्क के साथ करना है (इसलिए टैग) और एक बग को GitHub रिपॉजिटरी (टिप्पणियों में लिंक) पर पोस्ट किया गया है। Html नहीं होने का कारण यह है कि दिए गए कार्यों के लिए कोई html टेम्पलेट नहीं है, यह बग है। अंत में एक अर्ध उपनिवेश के अलावा मुझे कोई अंदाजा नहीं है कि आप इसके बारे में क्या बात कर रहे हैं कि यह वाक्यगत रूप से अमान्य है। जो कोई भी रूपरेखा से परिचित है, वह इसके लिए संदर्भ जानता होगा। यह अभी भी एक खुला बग है और आसानी से प्रजनन योग्य है।
रुडिगर

जवाबों:


1

आप एक और फ़ील्डसेट जोड़ सकते हैं, फिर सेट करें कि यह विशेषता है id="hidden_field" aria-hidden="true"। सीएसएस दस्तावेज में आप निम्नलिखित कार्य कर सकते हैं।

    #hidden_field{
        display:none;
        height:0;
        width:0;
        margin:0;
        padding:0;
        visibility: hidden;
    }

यह सिल्वरस्ट्रीम फ्रेमवर्क के क्वेरी व्यवहार को छिपाना चाहिए। अपने स्वयं के php रूपों में जब भी किसी ने अलग-अलग part-id संख्याओं के तहत कई बार एक नया रूप प्रस्तुत किया, मुझे यादृच्छिक कोष्ठक दिखाई दिए। मैंने अपनी साइट पर यादृच्छिक कोष्ठक छिपाने के लिए इस दृष्टिकोण का उपयोग किया।


@Rudiger ने सिल्वरस्ट्रिप फ्रेमवर्क के बग के आसपास जाने के लिए यह कोड काम किया था?
JTS
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.