সিলভারস্ট্রিপ পিএইচপি ফর্ম - যদি আমি কোনও ফিল্ডগ্রুপের অভ্যন্তরে কোনও সিলেকশন গ্রুপকে বাসা বেঁধে রাখি তবে সম্পর্কিত একটি সিলেকশনগ্রুপ_আইটেমের রেডিও বক্সটি প্রদর্শিত হবে না। কেন?


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 এর সাথে খুব বেশি ভাগ্য নেই। এটি কাজ করতে আমি আর কিছু করতে পারি?
— Rudiger

1
আমি একটি Git ইস্যু জুড়েছেন github.com/silverstripe/silverstripe-framework/issues/6637
— Rudiger

1
এটি একটি দুর্দান্ত প্রশ্ন নয় এবং আমি জানি না যে এটি কীভাবে 57 টি উপায়ে তৈরি করেছে, বিশেষত নিম্ন দর্শনের সংখ্যাটি দেওয়া হয়েছে, তবে আমার ধারণা এটি এর কারণে কোথাও যাচ্ছে না। আপনার সমস্যা উত্পন্ন এইচটিএমএল নিয়ে রয়েছে তবে আপনি এটি সরবরাহ করেন না বা পছন্দসই এইচটিএমএল আউটপুটটির উদাহরণ সরবরাহ করেন না। আপনার কোডের নমুনা সিনট্যাক্টিকভাবে অবৈধ এবং এটি কোথায় ব্যবহৃত হয়েছে সে সম্পর্কে কোনও প্রসঙ্গ সরবরাহ করা হয়নি। আপনি যদি এটি কোনওভাবে সমাধান করেন তবে আপনার একটি উত্তর পোস্ট করা উচিত; যদি সমস্যাটি আর প্রাসঙ্গিক বা পুনরুত্পাদনযোগ্য না হয় তবে আপনার প্রশ্নটি মুছে ফেলা উচিত।
— মিকেন 32

6
@ মিকেন 32 এটি সিলভারস্ট্রিপ কাঠামো (তাই ট্যাগ) এবং বিশেষত গিটহাব সংগ্রহশালায় (মন্তব্যগুলিতে লিঙ্কযুক্ত) পোস্ট করা হয়েছে with এইচটিএমএল না থাকার কারণ হ'ল প্রদত্ত ফাংশনগুলির জন্য কোনও HTML টেমপ্লেট নেই, এটি বাগ। শেষে একটি আধা কোলন ছাড়াও আপনি কী বলছেন এটি সিনট্যাক্টিকভাবে অবৈধ বলে আমি ধারণা পাইনি। কাঠামোর সাথে পরিচিত কেউই এর প্রসঙ্গটি জানেন। এটি এখনও একটি খোলা বাগ এবং সহজেই পুনরুত্পাদনযোগ্য।
— রুডিগার

উত্তর:


1

আপনি অন্য ফিল্ডসেট যুক্ত করতে পারেন তার সাথে এর বৈশিষ্ট্যগুলি সেট করতে পারেন id="hidden_field" aria-hidden="true"। সিএসএস নথিতে আপনি নিম্নলিখিতটি করতে পারেন।

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

এটি সিলভারস্ট্রিপ ফ্রেমওয়ার্কের ক্যোয়ারী আচরণ লুকানো উচিত। আমার নিজের পিএইচপি ফর্মগুলিতে আমার এলোমেলো বন্ধনী উপস্থিত ছিল যখনই কেউ বিভিন্ন পার্ট-আইডি নম্বরের অধীনে অসংখ্যবার নতুন ফর্ম জমা দেয়। আমি আমার সাইটে এলোমেলো বন্ধনী গোপন করার জন্য এই পদ্ধতির ব্যবহার করেছি।


@ রডিগার এই কোডটি সিলভারস্ট্রিপ কাঠামোর বাগটি পেতে কাজ করেছিল?
— জেটিএস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.