আমার ম্যাজেন্টো 2 ইনস্টলে একটি কাস্টম সত্তা রয়েছে।
এবং এই সত্তার ক্ষেত্রগুলির মধ্যে একটি হ'ল মাল্টিসিলেট টাইপ এবং এতে সমস্ত দেশের তালিকা রয়েছে।
আমি আমার প্রশাসক ফর্মের জন্য ইউআই-উপাদানগুলি ব্যবহার করছি।
যেহেতু নির্বাচনটিতে প্রায় 200 টি রেকর্ড রয়েছে, তাই আমি একটি বহুবিধ ক্ষেত্র রাখতে চাই না কারণ এটি ব্যবহার করা এত সহজ নয় that
সুতরাং আমি অ্যাড / এডিট পণ্য অ্যাডমিন বিভাগে বিভাগ ক্ষেত্রের অনুরূপ f অভিনব বহুজাতিকগুলির মধ্যে একটি তৈরি করেছি।
এটি দেখতে সুন্দর লাগছে তবে আমি এটিতে কোনও ডিফল্ট মান সেট করতে পারি না।
এখানে আমার কনফিগারেশন (কনফিগার default
আইটেমটি লক্ষ্য করুন):
<field name="affected_countries" formElement="select" component="Magento_Ui/js/form/element/ui-select" sortOrder="100">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="source" xsi:type="string">article</item>
<item name="filterOptions" xsi:type="boolean">true</item>
<item name="chipsEnabled" xsi:type="boolean">true</item>
<item name="disableLabel" xsi:type="boolean">true</item>
<item name="default" xsi:type="string">RO,MD</item>
</item>
</argument>
<settings>
<elementTmpl>ui/grid/filters/elements/ui-select</elementTmpl>
<dataType>text</dataType>
<label translate="true">Affected Countries</label>
<dataScope>affected_countries</dataScope>
<componentType>field</componentType>
</settings>
<formElements>
<select>
<settings>
<options class="Magento\Config\Model\Config\Source\Locale\Country"/>
</settings>
</select>
</formElements>
</field>
এবং আমি ডিফল্ট ক্ষেত্রে আমি যে দুটি মান রেখেছি তা নির্বাচিত হওয়ার প্রত্যাশা করছি:
যদি আমি উপাদানটিকে একটি সাধারণ বহুবিষ্টে পরিণত করি তবে এটি দুর্দান্তভাবে কাজ করে।
<field name="affected_countries" formElement="multiselect" sortOrder="100">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="source" xsi:type="string">article</item>
<item name="default" xsi:type="string">RO,MD</item>
</item>
</argument>
<settings>
<dataType>text</dataType>
<label translate="true">Affected Countries</label>
<dataScope>affected_countries</dataScope>
</settings>
<formElements>
<multiselect>
<settings>
<options class="Magento\Config\Model\Config\Source\Locale\Country"/>
</settings>
</multiselect>
</formElements>
</field>
আমি এই ফর্ম্যাটটি default
সেটিংয়ের জন্য বেঁধেছি
<item name="default" xsi:type="string">RO,MD</item>
এবং এটি একটি:
<item name="default" xsi:type="array">
<item name="MD" xsi:type="string">MD</item>
<item name="RO" xsi:type="string">RO</item>
</item>
এছাড়াও ট্যাগ দিয়ে চেষ্টা select
এবং multiselect
ভিতরে formElements
ট্যাগ।
আমার সমস্ত চেষ্টা ব্যর্থতায় শেষ হয়েছিল।
এখানে নির্দেশ অনুসারেdefault
অন্য যে কোনও ক্ষেত্রে ক্ষেত্রে সেটিংটি ব্যবহার করে (পাঠ্য, নির্বাচন, তারিখ, ...) দুর্দান্তভাবে কাজ করে।
অভিনব নির্বাচনের জন্য কোনও পরামর্শ? কিছু মিস করলাম?
দ্রষ্টব্য: আমি জানি যে আমি ডেটা সরবরাহকারীর মধ্যে একটি ডিফল্ট মান সরবরাহ করতে পারি যা ফর্মটি জনপ্রিয় করে তোলে তবে আমি এটি দেখতে কুৎসিত বলে এটি এড়াতে চাইছি এবং এটি অন্যান্য ক্ষেত্রের সাথে সামঞ্জস্যপূর্ণ নয় এবং এটি বাহ্য নয়।
<options class="Magento\Config\Model\Config\Source\Locale\Country"/>
। আপনার একই ধরণের ক্লাস দরকার যা প্রয়োগ করে \Magento\Framework\Option\ArrayInterface
এবং এমন একটি পদ্ধতি আছে যা toOptionArray
আপনার মানগুলির সাথে একটি অ্যারে প্রদান করে। অ্যারে থেকে প্রতিটি উপাদান অবশ্যই দেখতে হবে['value' => ..., 'label' => ...]