আমি অ্যাডমিন তালিকা এবং ফর্মের জন্য ইউআই উপাদান ব্যবহার করে ম্যাজেন্টো 2 এর জন্য একটি সিআরইউডি মডিউল তৈরি করছি এবং আমার সত্তার মধ্যে একটিতে একটি চিত্রের ক্ষেত্র রয়েছে।
তবে আমি এটির মতো কাজ করতে পারি না।
এটি কিভাবে কাজ করা উচিত তা এখানে।
অ্যাড মোডে বা সম্পাদনা মোডে কোনও আপলোড করা চিত্র না থাকলে এটি কোনও সাধারণ ফাইল ইনপুটের মতো হওয়া উচিত।
কোনও ফাইল আপলোড করা হলে এটি চিত্রের পূর্বরূপ এবং এর নীচে একটি মোছা বাক্সটি দেখানো উচিত।
আমি ঠিক এই নকশা খুঁজছি না। এটি অন্যরকম দেখায় তবে একই কার্যকারিতা থাকতে পারে।
ম্যাজেন্টো 1-এ আমি এটি করতে সক্ষম হয়েছি, কেবল নিজের ব্লক রেন্ডারার তৈরি করে
class {{Namespace}}_{{Module}}_Block_Adminhtml_{{Entity}}_Helper_Image extends Varien_Data_Form_Element_Image
{
protected function _getUrl()
{
$url = false;
if ($this->getValue()) {
$url = Mage::helper('{{namespace}}_{{module}}/{{entity}}_image')->getImageBaseUrl().$this->getValue();
}
return $url;
}
}
এবং এটি আমার ফর্ম ব্লকে যুক্ত করুন
$fieldset->addType(
'image',
Mage::getConfig()->getBlockClassName('{{namespace}}_{{module}}/adminhtml_{{entity}}_helper_image')
);
তবে ম্যাজেন্টো ২ তে
আমার কোনও ফর্ম ব্লক নেই I আমি জানি আমি ইউআই উপাদানগুলির ফাইলে একটি ফর্ম ক্ষেত্রের জন্য কোনও শ্রেণীর নাম ব্যবহার করতে পারি
<field name="image" class="Class\Name\Here">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="dataType" xsi:type="string">text</item>
<item name="label" xsi:type="string" translate="true">Resume</item>
<item name="formElement" xsi:type="string">image</item>
<item name="source" xsi:type="string">[entity]</item>
<item name="dataScope" xsi:type="string">image</item>
</item>
</argument>
</field>
স্পষ্টতই আমাকে এই ক্লাসটি তৈরি করতে হবে, তবে আমার কী বাড়ানো উচিত?
আমি শুধু জানি যে আমার ইন্টারফেসটি বাস্তবায়ন করা দরকার Magento\Framework\View\Element\UiComponentInterface
তবে আমি প্রসারিত করতে পারি এমন কিছুই পাই নি।
সুতরাং আমার আসল প্রশ্নটি: আমি পছন্দসই আচরণটি অর্জন করতে কিছু শ্রেণি বাড়িয়ে দিতে পারি? যদি তা না হয় তবে আমি কীভাবে এই উপাদানটি রেন্ডারার তৈরি করা শুরু করব?