আপনার নিজের ইউআই উপাদানটি "তৈরি" করতে হবে। আপনি তারিখের UI উপাদানটি বাড়িয়ে এটি করতে পারেন।
# 1 আপনার ফর্মটিতে এক্সএমএল যুক্ত করুন
ফিল্ডসেটে ক্ষেত্রটি যুক্ত করুন। এই উদাহরণে, আমরা যে উপাদানটি তৈরি করব তা বলা হয় time
। নোট করুন যে আপনি template
নিম্নলিখিত এক্সএমএলে একটি ঘোষণা করতে পারেন । তবে এটি সত্যই কোনও ভাল করতে পারে না কারণ এটি এক্সএইচটিএমএল টেমপ্লেট যা নকআউট টেমপ্লেটটি আসল রেন্ডারিং করে w অন্যান্য নোড রয়েছে যা আপনি বৈধতার মতো এখানে ঘোষণা করতে পারেন।
<field name="time_field">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="label" xsi:type="string" translate="true">Time</item>
<item name="dataType" xsi:type="string">text</item>
<item name="formElement" xsi:type="string">date</item>
<item name="dataScope" xsi:type="string">time_field</item>
<item name="component" xsi:type="string">Your_Module/js/form/element/time</item>
</item>
</argument>
</field>
# 2 ইউআই কম্পোনেন্ট তৈরি করুন
// app/code/Your/Module/view/adminhtml/web/js/form/element/time.js
define([
'Magento_Ui/js/form/element/date'
], function(Date) {
'use strict';
return Date.extend({
defaults: {
options: {
showsDate: false,
showsTime: true,
timeOnly: true
},
elementTmpl: 'ui/form/element/date'
}
});
});
উপরের জাভাস্ক্রিপ্টে কয়েকটি নোট:
elementTmpl
প্রয়োজন হয় না. তবে, আপনি যদি টেমপ্লেটটি (বর্তমানে module-ui/view/base/web/templates/form/element/date.html
) কাস্টমাইজ করতে চান তবে কেবল নিজের টেম্পলেট তৈরি করুন এবং এর সাথে এটি উল্লেখ করুন elementTmpl
।
ইনপুট জন্য আরও বিকল্প আছে। আপনি তাদের সম্পর্কে আরও জানতে পারেন: http://trentrichardson.com/example/timepicker/#tp-options । কোডটিতে, এখানে সমস্ত ডিফল্টের একটি তালিকা রয়েছে:/lib/web/jquery/jquery-ui-timepicker-addon.js
শেষ ফলাফল:
- এই মুহুর্তে, আমি বিশ্বাস করি না যে এটির মতো অনুরূপভাবে আপনার নিজের ইউআই উপাদানটি ঘোষণা করা সম্ভব
definitions.xml
। তবে, আপনি তাদের সর্বনিম্ন প্রচেষ্টা দিয়ে প্রসারিত করতে পারেন । (এবং যদি কোনও উপায় থাকে তবে দয়া করে আমাকে জানান)