আমি ইতিমধ্যে প্রস্তুত (পূর্বনির্ধারিত) ম্যাজেন্টো ব্যবহারকারীর (মডিউল-ব্যবহারকারী) ফর্মটি যুক্ত / আপডেট সহ একটি ভাল পদ্ধতির সন্ধান করছি। এই পাথ দিয়ে অ্যাডমিন প্যানেলে ফর্মটি পৌঁছানো যেতে পারে:
সিস্টেম> সমস্ত ব্যবহারকারী> [নির্বাচিত_ ব্যবহারকারী]> ব্যবহারকারীর প্রধান সম্পাদনা ট্যাব (অ্যাকাউন্ট তথ্য)
এখন আমি আমার কাস্টম মডিউলটিতে di.xML ব্যবহারের চেষ্টা করছি যেখানে আমি নির্ভরতাগুলি নির্দিষ্ট করে: `
<preference for="Magento\User\Block\User\Edit\Tab\Main" type="Vendor_Name\Module_Name\Block\User\Edit\Tab\Main" />
<preference for="Magento\User\Block\Role\Grid\User" type="Vendor_Name\Module_Name\Block\Role\Grid\User" />
`
এটি ইতিমধ্যে মেইন.এফপি ক্লাসের জন্য তৈরি করা সামগ্রী
// @ কোডিং স্ট্যান্ডার্ডসআইগনফোর করুন নেমস্পেস ভেন্ডর_নাম \ মডিউল_নাম \ ব্লক \ ব্যবহারকারী \ সম্পাদনা করুন \ ট্যাব; E ম্যাজেন্টো \ ব্যবহারকারীর \ ব্লক \ ব্যবহারকারী \ সম্পাদনা \ ট্যাব \ প্রধানকে ইউজারএডিটমেনট্যাব হিসাবে ব্যবহার করুন; \ ম্যাজেন্টো \ ব্যাকএন্ড \ ব্লক \ টেমপ্লেট \ প্রসঙ্গ ব্যবহার করুন; \ Magento \ ফ্রেমওয়ার্ক \ রেজিস্ট্রি ব্যবহার করুন; \ ম্যাজেন্টো \ ফ্রেমওয়ার্ক \ ডেটা \ ফর্মফ্যাক্টরি ব্যবহার করুন; \ ম্যাজেন্টো \ ব্যাকএন্ড \ মডেল \ এথ \ সেশন ব্যবহার করুন; \ ম্যাজেন্টো \ ফ্রেমওয়ার্ক \ লোকেল \ তালিকাগুলি অন্তর্ভুক্ত করুন; ক্লাস মেইন ইউজারএডিটমেনট্যাব প্রসারিত করে { পাবলিক ফাংশন __ কনস্ট্রাক্ট ( প্রসঙ্গ $ প্রসঙ্গ, রেজিস্ট্রি $ রেজিস্ট্রি, ফর্মফ্যাক্টরি $ ফর্ম কারখানা, অধিবেশন uth তালিকার অন্তর্ভুক্ত $ স্থানীয় তালিকা, অ্যারে $ ডেটা = [] ) { প্যারেন্ট :: __ গঠন ($ প্রসঙ্গ, $ রেজিস্ট্রি, $ ফর্ম কারখানা, $ authSession, $ স্থানীয় তালিকা, $ ডেটা); } সুরক্ষিত ফাংশন { / ** @var $ মডেল \ Magento \ ব্যবহারকারী \ মডেল \ ব্যবহারকারী * / $ মডেল = $ এটি -> _ কোরআরেজিস্ট্রি-> রেজিস্ট্রি ('অনুমতি_ইউসার'); / ** @var \ Magento \ ফ্রেমওয়ার্ক \ ডেটা \ ফর্ম $ ফর্ম * / $ ফর্ম = $ এটি -> _ ফর্ম ফ্যাক্টরি-> তৈরি (); $ Form-> setHtmlIdPrefix ( 'user_'); $ বেসফিল্ডসেট = $ ফর্ম-> অ্যাডফিল্ডসেট ('বেস_ফিল্ডসেট', ['কিংবদন্তি' => __ ('অ্যাকাউন্টের তথ্য __ টেস্ট')])); যদি ($ মডেল-> getUserId ()) { $ বেসফিল্ডসেট-> অ্যাডফিল্ড ('ইউজার_আইডি', 'লুকানো', ['নাম' => 'ইউজার_আইডি']); } অন্য { যদি (! $ মডেল-> hasData ('is_active')) { $ Model-> setIsActive (1); } } $ BaseFieldset-> addField ( 'User_image', 'চিত্র', [ 'name' => 'user_image', 'লেবেল' => __ ('ব্যবহারকারীর চিত্র'), 'id' => 'ব্যবহারকারীর চিত্র', 'শিরোনাম' => __ ('ব্যবহারকারীর চিত্র'), 'প্রয়োজনীয়' => মিথ্যা, 'নোট' => 'চিত্রের প্রকারের অনুমতি দিন: jpg, jpeg, png' ] ); $ BaseFieldset-> addField ( 'ব্যবহারকারীর নাম', 'টেক্সট', [ 'নাম' => 'ব্যবহারকারীর নাম', 'লেবেল' => __ ('ব্যবহারকারীর নাম'), 'id' => 'ব্যবহারকারীর নাম', 'শিরোনাম' => __ ('ব্যবহারকারীর নাম'), 'প্রয়োজনীয়' => সত্য ] ); $ BaseFieldset-> addField ( 'নামের প্রথম অংশ', 'টেক্সট', [ 'নাম' => 'প্রথম নাম', 'লেবেল' => __ ('প্রথম নাম'), 'আইডি' => 'প্রথম নাম', 'শিরোনাম' => __ ('প্রথম নাম'), 'প্রয়োজনীয়' => সত্য ] ); $ BaseFieldset-> addField ( 'নামের শেষাংশ', 'টেক্সট', [ 'নাম' => 'শেষ নাম', 'লেবেল' => __ ('শেষ নাম'), 'আইডি' => 'পদবি', 'শিরোনাম' => __ ('শেষ নাম'), 'প্রয়োজনীয়' => সত্য ] ); $ BaseFieldset-> addField ( 'ইমেল', 'টেক্সট', [ 'নাম' => 'ইমেল', 'লেবেল' => __ ('ইমেল'), 'id' => 'গ্রাহক_-ইমেল', 'শিরোনাম' => __ ('ব্যবহারকারী ইমেল'), 'শ্রেণি' => 'প্রয়োজনীয়-এন্ট্রি বৈধতা-ইমেল', 'প্রয়োজনীয়' => সত্য ] ); $ isNewObject = $ মডেল-> isObjectNew (); যদি ($ নিউইউবজেক্ট) { $ পাসওয়ার্ড লেবেল = __ ('পাসওয়ার্ড'); } অন্য { $ পাসওয়ার্ড লেবেল = __ ('নতুন পাসওয়ার্ড'); } $ নিশ্চিতকরণ লেবেল = __ ('পাসওয়ার্ড নিশ্চিতকরণ'); $ এটি -> _ অ্যাডপাসওয়ার্ডফিল্ডস ($ বেসফিল্ডসেট, $ পাসওয়ার্ড লেবেল, $ কনফার্মেশনলবেল, $ ইসনিউবজেক্ট); $ BaseFieldset-> addField ( 'Interface_locale', 'নির্বাচন', [ 'নাম' => 'ইন্টারফেস_লোকালে', 'লেবেল' => __ ('ইন্টারফেস লোকাল'), 'শিরোনাম' => __ ('ইন্টারফেস লোকাল'), 'মান' => $ এটি -> _ লোকাললিস্ট-> getTranslatedOptionLocales (), 'শ্রেণী' => 'নির্বাচন' ] ); যদি ($ এটি -> _ লেখক সেশন-> getUser () -> getId ()! = $ মডেল-> getUserId ()) $ BaseFieldset-> addField ( 'সক্রিয়', 'নির্বাচন', [ 'নাম' => 'is_active', 'লেবেল' => __ ('এই অ্যাকাউন্টটি'), 'id' => 'is_active', 'শিরোনাম' => __ ('অ্যাকাউন্টের স্থিতি'), 'শ্রেণি' => 'ইনপুট-নির্বাচন', 'বিকল্প' => ['1' => __ ('সক্রিয়'), '0' => __ ('নিষ্ক্রিয়')] ] ); } $ বেসফিল্ডসেট-> অ্যাডফিল্ড ('ইউজার_রোলেস', 'লুকানো', ['নাম' => 'ইউজার_রোলেস', 'আইডি' => '_user_roles']); $ বর্তমান ইউজারভেদীকরণফিল্ডসেট = $ ফর্ম-> অ্যাডফিল্ডসেট ( 'Current_user_verification_fieldset', ['কিংবদন্তি' => __ ('বর্তমান ব্যবহারকারীর পরিচয় যাচাইকরণ')] ); $ CurrentUserVerificationFieldset-> addField ( স্ব :: CURRENT_USER_PASSWORD_FIELD, 'পাসওয়ার্ড', [ 'নাম' => স্ব :: CURRENT_USER_PASSWORD_FIELD, 'লেবেল' => __ ('আপনার পাসওয়ার্ড'), 'id' => স্ব :: CURRENT_USER_PASSWORD_FIELD, 'শিরোনাম' => __ ('আপনার পাসওয়ার্ড'), 'শ্রেণি' => 'ইনপুট-পাঠ্যকে বৈধ করে তোলা - বর্তমান-পাসওয়ার্ডের প্রয়োজনীয়-এন্ট্রি', 'প্রয়োজনীয়' => সত্য ] ); $ ডেটা = $ মডেল-> getData (); সেট না ($ ডেটা [ 'পাসওয়ার্ড']); সেট না ($ ডেটা [স্ব :: CURRENT_USER_PASSWORD_FIELD]); $ Form-> setValues ($ তথ্য); $ This-> setForm ($ ফর্ম); রিটার্ন প্যারেন্ট :: _ রেডিফর্ম (); } }
এবং ব্যবহারকারীর জন্য কিছু কোড। php
নেমস্পেস ভেন্ডর_নাম \ মডিউল_নাম \ ব্লক \ ভূমিকা \ গ্রিড; le ম্যাজেন্টো \ ব্যবহারকারী \ অবরুদ্ধ \ ভূমিকা \ গ্রিড \ ব্যবহারকারীকে ভূমিকাগ্রিড ব্যবহারকারী হিসাবে ব্যবহার করুন; \ ম্যাজেন্টো \ ব্যাকএন্ড \ ব্লক \ উইজেট \ গ্রিড use এক্সটেন্ডেডগ্রিড হিসাবে বর্ধিত; শ্রেণীর ব্যবহারকারী RoleGridUser প্রসারিত করে { সুরক্ষিত ফাংশন { পিতা বা মাতা ::: _ prepareCollection (); $ This-> addColumn ( 'User_image', [ 'শিরোনাম' => __ ('ব্যবহারকারীর চিত্র'), 'প্রস্থ' => 5, 'align' => 'বাম', 'বাছাইযোগ্য' => সত্য, 'সূচক' => 'ব্যবহারকারীর চিত্র' ] ); রিটার্ন এক্সটেন্ডেডগ্রিড :: _ রেডি কলোকেশন (); } }
আপনি যদি আরও ঘুরে দেখুন তবে ইতিমধ্যে যে আমি ব্যবহারকারীর চিত্র সহ একটি ক্ষেত্র যুক্ত করার চেষ্টা করছি।
দুর্ভাগ্যক্রমে, আমি অ্যাডমিনের সামনে কোনও পরিবর্তন দেখতে পাচ্ছি না। অবশ্যই, প্রয়োজনীয় কলামটি ইনস্টলস্কেমার স্ক্রিপ্ট দ্বারা এর আগে ' অ্যাডমিন_উজার ' সারণিতে যুক্ত করা হয়েছিল।
গাছের মতো বিন্যাসে ডিরেক্টরিগুলির বিষয়বস্তু:
Module_Name ├── ব্লক । ├── ক্যাটালগ । │ └── পণ্য P │ └── সম্পর্কিতপোস্ট.এফপি │ le ভূমিকা Rid │ └── গ্রিড । │ └── User.php ব্যবহারকারী । └── সম্পাদনা করুন । └── ট্যাব ।। Main.php ├── রচনাশক্তি । ইত্যাদি ।। Di.xML । └── মডিউল.এক্সএমএল ├── সেটআপ └── ইনস্টলশ্মিমা.এফপি
আমি কি ভুল করছি?