Magento 2 Magento_User व्यवस्थापक फ़ॉर्म में नया फ़ील्ड जोड़ें


11

मैं पहले से तैयार (डिफ़ॉल्ट रूप से) मैगेंटो उपयोगकर्ता (मॉड्यूल-उपयोगकर्ता) फॉर्म के साथ एक अच्छा दृष्टिकोण की तलाश कर रहा हूं। इस मार्ग से फ़ॉर्म को व्यवस्थापक पैनल में पहुँचा जा सकता है:

सिस्टम> सभी उपयोगकर्ता> [चुना हुआ_सर]> उपयोगकर्ता का मुख्य संपादन टैब (खाता जानकारी)

अब मैं अपने कस्टम मॉड्यूल में 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" />

`

यह वह सामग्री है जो मैंने पहले ही एक Main.php क्लास के लिए बना ली है

// @codingStandardsIgnoreFile

नाम स्थान Vendor_Name \ Module_Name \ Block \ User \ Edit \ Tab;

UserEditMainTab के रूप में \ Magento \ User \ Block \ User \ Edit \ Tab \ Main का उपयोग करें;
\ Magento \ Backend \ Block \ Template \ Context का उपयोग करें;
\ Magento \ Framework \ रजिस्ट्री का उपयोग करें;
\ Magento \ Framework \ Data \ FormFactory का उपयोग करें;
\ Magento \ Backend \ Model \ Auth \ सत्र का उपयोग करें;
\ Magento \ Framework \ Locale \ ListsInterface का उपयोग करें;

वर्ग मुख्य का विस्तार UserEditMainTab से होता है
{
    सार्वजनिक समारोह __construct (
        प्रसंग $ संदर्भ,
        रजिस्ट्री $ रजिस्ट्री,
        फॉर्मफैक्टरी $ फॉर्मफैक्टरी,
        सेशन $ ऑस्ट्रेशन,
        ListsInterface $ लोकेलिस्ट,
        सरणी $ डेटा = []
    ) {
        जनक :: __ निर्माण ($ संदर्भ, $ रजिस्ट्री, $ फॉर्मफैक्टिंग, $ ऑक्टोसेशन, $ लोकेललिस्ट, $ डेटा);
    }

    संरक्षित फ़ंक्शन _prepareForm ()
    {
        / ** @वर $ मॉडल \ Magento \ User \ Model \ User * /
        $ मॉडल = $ यह -> _ कोरग्रैजिस्ट्री-> रजिस्ट्री ('अनुमतियाँ_सर');

        / ** @वर \ _ Magento \ Framework \ Data \ Form $ फॉर्म * /
        $ फॉर्म = $ यह -> _ फॉर्मफैक्टरी -> बनाएं ();
        $ फार्म> setHtmlIdPrefix ( '_उपयोगकर्ता');

        $ baseFieldset = $ form-> addFieldset ('base_fieldset', ['किंवदंती' => __ ('खाता जानकारी __ TEST')]);

        अगर ($ मॉडल-> getUserId ()) {
            $ baseFieldset-> addField ('user_id', 'hidden', ['name' => 'user_id']);
        } अन्य {
            अगर ($ मॉडल-> hasData ('is_active')) {
                $ मॉडल> ​​setIsActive (1);
            }
        }

        $ BaseFieldset-> addField (
            'User_image',
            'छवि',
            [
                'name' => 'user_image',
                'लेबल' => __ ('उपयोगकर्ता छवि'),
                'आईडी' => 'user_image',
                'शीर्षक' => __ ('उपयोगकर्ता छवि'),
                'आवश्यक' => असत्य,
                'नोट' => 'छवि प्रकार की अनुमति दें: जेपीजी, जेपीईजी, पीएनजी'
            ]
        );

        $ BaseFieldset-> addField (
            'उपयोगकर्ता नाम',
            'पाठ',
            [
                'नाम' => 'उपयोगकर्ता नाम',
                'लेबल' => __ ('उपयोगकर्ता नाम'),
                'आईडी' => 'उपयोगकर्ता नाम',
                'शीर्षक' => __ ('उपयोगकर्ता नाम'),
                'आवश्यक' => सत्य
            ]
        );

        $ BaseFieldset-> addField (
            'पहला नाम',
            'पाठ',
            [
                'name' => 'firstname',
                'लेबल' => __ ('पहला नाम'),
                'आईडी' => 'पहला नाम',
                'शीर्षक' => __ ('पहला नाम'),
                'आवश्यक' => सत्य
            ]
        );

        $ BaseFieldset-> addField (
            'उपनाम',
            'पाठ',
            [
                'नाम' => 'अंतिम नाम',
                'लेबल' => __ ('अंतिम नाम'),
                'आईडी' => 'अंतिम नाम',
                'शीर्षक' => __ ('अंतिम नाम'),
                'आवश्यक' => सत्य
            ]
        );

        $ BaseFieldset-> addField (
            'ईमेल',
            'पाठ',
            [
                'नाम' => 'ईमेल',
                'लेबल' => __ ('ईमेल'),
                'id' => 'customer_email',
                'शीर्षक' => __ ('उपयोगकर्ता ईमेल'),
                'वर्ग' => 'आवश्यक-प्रविष्टि मान्य-ईमेल',
                'आवश्यक' => सत्य
            ]
        );

        $ .NewObject = $ मॉडल-> isObjectNew ();
        अगर ($ .न्यूबजेक्ट) {
            $ पासवर्डलाब = __ ('पासवर्ड');
        } अन्य {
            $ पासवर्डलाब = __ ('नया पासवर्ड');
        }
        $ पुष्टिकरण लेबल = __ ('पासवर्ड पुष्टिकरण');
        यह

        $ BaseFieldset-> addField (
            'Interface_locale',
            'चुनते हैं',
            [
                'name' => 'interface_locale',
                'लेबल' => __ ('इंटरफ़ेस लोकेल'),
                'शीर्षक' => __ ('इंटरफ़ेस लोकेल'),
                'मान' => $ यह -> लोकेलेस्ट-> getTranslatedOptionLocales (),
                'वर्ग' => 'चयन'
            ]
        );

        अगर ($ यह -> _ व्यवसाय -> getUser () -> getId ()! = $ मॉडल-> getUserId ()) {
            $ BaseFieldset-> addField (
                'सक्रिय है',
                'चुनते हैं',
                [
                    'name' => 'is_active',
                    'लेबल' => __ ('यह खाता है'),
                    'आईडी' => 'is_active' है,
                    'शीर्षक' => __ ('खाता स्थिति'),
                    'वर्ग' => 'इनपुट-चयन',
                    'विकल्प' => ['1' => __ ('सक्रिय'), '0' => __ ('इनवेशन']]
                ]
            );
        }

        $ baseFieldset-> addField ('user_roles', 'hidden', ['name' => 'user_roles', 'id' => '_user_roles']);

        $ currentUserVerificationFieldset = $ फ़ॉर्म-> addFieldset (
            'Current_user_verification_fieldset',
            ['किंवदंती' => __ ('वर्तमान उपयोगकर्ता पहचान सत्यापन')]
        );
        $ CurrentUserVerificationFieldset-> addField (
            स्वयं :: CURRENT_USER_PASSWORD_FIELD,
            'कुंजिका',
            [
                'नाम' => स्व :: CURRENT_USER_PASSWORD_FIELD,
                'लेबल' => __ ('आपका पासवर्ड'),
                'आईडी' => स्वयं :: CURRENT_USER_PASSWORD_FIELD,
                'शीर्षक' => __ ('योर पासवर्ड'),
                'वर्ग' => 'इनपुट-पाठ मान्य-वर्तमान-पासवर्ड आवश्यक-प्रविष्टि',
                'आवश्यक' => सत्य
            ]
        );

        $ डेटा = $ मॉडल-> गेटडाटा ();
        सेट नहीं ($ डेटा [ 'पासवर्ड']);
        सेट नहीं ($ डेटा [आत्म :: CURRENT_USER_PASSWORD_FIELD]);
        $ फार्म> setValues ​​($ डेटा);

        $ This-> setForm ($ फार्म);

        वापसी माता-पिता :: _ तैयारी ();
    }
}

और User.php के लिए कुछ कोड

नामस्थान Vendor_Name \ Module_Name \ Block \ Role \ ग्रिड;

भूमिकाकर्ता के रूप में \ Magento \ User \ Block \ Role \ Grid \ User का उपयोग करें;
ExtendedGrid के रूप में \ Magento \ Backend \ Block \ Widget \ Grid \ का उपयोग करें;

वर्ग उपयोगकर्ता रोलग्रिड्यूसर का विस्तार करता है
{
    संरक्षित कार्य _prepareColumns ()
    {
        माता-पिता :: _ prepareCollection ();

        $ This-> addColumn (
            'User_image',
            [
                'हैडर' => __ ('यूजर इमेज'),
                'चौड़ाई' => 5,
                'align' => 'left',
                'सॉर्टेबल' => सत्य,
                'इंडेक्स' => 'user_image'
            ]
        );

        वापसी ExtendedGrid :: _ readyCollection ();
    }
}

यदि आप पहले से ही अब करीब से देख लेते हैं तो मैं उपयोगकर्ता की छवि के साथ एक क्षेत्र जोड़ने की कोशिश कर रहा हूं।

दुर्भाग्य से, मुझे व्यवस्थापक मोर्चे में कोई परिवर्तन नहीं दिखाई दे रहा है। बेशक, आवश्यक कॉलम InstallSchema स्क्रिप्ट द्वारा पहले ' admin_user ' तालिका में जोड़ा गया था ।

एक पेड़ की तरह प्रारूप में निर्देशिकाओं की सामग्री:

मोड्यूल का नाम
├── ब्लॉक करें
├── ├── कैटलॉग
└── └── │ उत्पाद
└──। │ संबंधितPosts.php
├── ├── भूमिका
└── └── │ ग्रिड
└── └── │ User.php
└── └── उपयोगकर्ता
└── └── संपादित करें
└── └── टैब
।। Main.php
J संगीतकार.जॉन
├── आदि
।। Di.xml
। │ मॉड्यूल.एक्सएमएल
├── सेटअप
    Hem InstallSchema.php

मैंने गलत क्या किया?


उपरोक्त समाधान बहुत अच्छा है, लेकिन मूल्यों को अतिरिक्त क्षेत्रों पर सेट नहीं किया जाता है..जिस पर हमें कुछ और करना है। हम मूल रूप से समीक्षा फॉर्म को ओवरराइड कर रहे हैं। अग्रिम धन्यवाद ..
ग्रेट इंडियन ब्रेन

जवाबों:


24

छवि क्षेत्र को जोड़ने के लिए, आप प्लगइन का उपयोग करने की कोशिश कर सकते हैं और हमेशा पूरी कक्षा को अधिलेखित करने से बचने की कोशिश कर सकते हैं।

विक्रेता / मॉड्यूल / etc / adminhtml / di.xml


<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\User\Block\User\Edit\Tab\Main">
        <plugin name="sr_stackexchange_user_form" type="Vendor\Module\Plugin\Block\Adminhtml\User\Edit\Tab\Main" sortOrder="1"/>
    </type>
</config>

विक्रेता / मॉड्यूल / प्लगइन / ब्लॉक / Adminhtml / उपयोगकर्ता / संपादित करें / टैब / main.php


namespace Vendor\Module\Plugin\Block\Adminhtml\User\Edit\Tab;

class Main
{
    /**
     * Get form HTML
     *
     * @return string
     */
    public function aroundGetFormHtml(
        \Magento\User\Block\User\Edit\Tab\Main $subject,
        \Closure $proceed
    )
    {
        $form = $subject->getForm();
        if (is_object($form)) {
            $fieldset = $form->addFieldset('admin_user_image', ['legend' => __('User Image')]);
            $fieldset->addField(
                'user_image',
                'image',
                [
                    'name' => 'user_image',
                    'label' => __('Image'),
                    'id' => 'user_image',
                    'title' => __('Image'),
                    'required' => false,
                    'note' => 'Allow image type: jpg, jpeg, png'
                ]
            );

            $subject->setForm($form);
        }

        return $proceed();
    }
}

कैश को साफ़ करें।


हे सोहेल, आपकी प्रतिक्रिया के लिए बहुत बहुत धन्यवाद! यह सटीक लगता है कि मैं क्या हासिल करना चाहता हूं :) जैसे ही मैं स्थानीय स्तर पर इस कोड को आज़माता हूं, मैं आपको प्रतिक्रिया दूंगा। वैसे, मैंने देखा कि आप नए फ़ील्डसेट बनाते हैं और मुझे आश्चर्य हो रहा है कि क्या पहले से मौजूद किसी एक को अपडेट करना संभव है, उदाहरण के लिए 'base_fieldset', आपको क्या लगता है? इसके अलावा, मैं उत्सुक हूं, क्या यह प्लगइन अप्रोच अपडेटिंग कंट्रोलर भी है? मुझे यहां भविष्य में कुछ सोच को अद्यतन करने की आवश्यकता है: /module-user/Controller/Adminhtml/User/Save.php- 'admin_user' तालिका में छवि के पथ के साथ स्ट्रिंग सहेजें। कई सवालों के लिए खेद है। आपकी सहायता की सराहना! चियर्स!
रोब

ठीक है, एक नियंत्रक के लिए प्लगइन का उपयोग करना संभव है, लेकिन मेरे मामले में यह पर्याप्त नहीं था। वैसे भी, आपके सुझाव मुझे एक समस्या को हल करने में मदद करते हैं। एक बार फिर आपका धन्यवाद!
रोब

उपरोक्त समाधान बहुत अच्छा है, लेकिन मूल्यों को अतिरिक्त क्षेत्रों पर सेट नहीं किया जाता है..जिस पर हमें कुछ और करना है। हम मूल रूप से समीक्षा फॉर्म को ओवरराइड कर रहे हैं। अग्रिम धन्यवाद ..
ग्रेट इंडियन ब्रेन

मुझे यह भी दिलचस्पी होगी कि कैसे एडमिन यूजर फॉर्म में एक नई फील्ड की वैल्यू को admin_user टेबल में सेव करें। क्या आपने /module-user/Controller/Adminhtml/User/Save.php नियंत्रक का विस्तार / ओवरराइडिंग इसे हल किया था?
हॉलरॉन

@ सोहेल राणा, चयनित क्षेत्र नहीं दिखाएगा कहां? या हम यहां वर्तमान उपयोगकर्ता आईडी कैसे प्राप्त कर सकते हैं?
सागरपंचल

2

कुछ शोध के बाद इसके लिए एक समाधान मिला

AddField विधि में नई संपत्ति "मान" जोड़ें

आपकी जरूरत के मूल्य के साथ। उदाहरण देखें:

        $fieldset->addField(
            'user_image',
            'image',
            [
                'name' => 'user_image',
                'label' => __('Image'),
                'id' => 'user_image',
                'title' => __('Image'),
                'value' => $value_that_you_need,
                'required' => false,
                'note' => 'Allow image type: jpg, jpeg, png'
            ]
        );

मुझे आशा है कि यह आपकी कुछ मदद करेगा ।।


2

बयान की जगह

return parent::_prepareForm();

इसके साथ

return \Magento\Backend\Block\Widget\Form\Generic::_prepareForm();

मेरे लिए काम किया। यहाँ पूरा कोड है। फ़ील्ड "पहुंच योग्य स्टोर" को निम्नानुसार जोड़ना।

<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */

// @codingStandardsIgnoreFile

namespace [vendor]\[module]\Block\User\Edit\Tab;

use Magento\Framework\App\ObjectManager;
use Magento\Framework\Locale\OptionInterface;

/**
 * Cms page edit form main tab
 *
 * @SuppressWarnings(PHPMD.DepthOfInheritance)
 */
class Main extends \Magento\User\Block\User\Edit\Tab\Main
{

    /**
     * @param \Magento\Backend\Block\Template\Context $context
     * @param \Magento\Framework\Registry $registry
     * @param \Magento\Framework\Data\FormFactory $formFactory
     * @param \Magento\Backend\Model\Auth\Session $authSession
     * @param \Magento\Framework\Locale\ListsInterface $localeLists
     * @param array $data
     * @param OptionInterface $deployedLocales Operates with deployed locales.
     */

    public function __construct(
        \Magento\Backend\Block\Template\Context $context,
        \Magento\Framework\Registry $registry,
        \Magento\Framework\Data\FormFactory $formFactory,
        \Magento\Backend\Model\Auth\Session $authSession,
        \Magento\Framework\Locale\ListsInterface $localeLists,
        array $data = [],
        OptionInterface $deployedLocales = null
    ) {
        $this->deployedLocales = $deployedLocales
            ?: ObjectManager::getInstance()->get(OptionInterface::class);
        parent::__construct($context, $registry, $formFactory, $authSession, $localeLists, $data, $this->deployedLocales);
    }

    /**
     * Prepare form fields
     *
     * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
     * @return \Magento\Backend\Block\Widget\Form
     */
    protected function _prepareForm()
    {
        //die('test');
        /** @var $model \Magento\User\Model\User */
        $model = $this->_coreRegistry->registry('permissions_user');

        /** @var \Magento\Framework\Data\Form $form */
        $form = $this->_formFactory->create();
        $form->setHtmlIdPrefix('user_');

        $baseFieldset = $form->addFieldset('base_fieldset', ['legend' => __('Account Information')]);

        if ($model->getUserId()) {
            $baseFieldset->addField('user_id', 'hidden', ['name' => 'user_id']);
        } else {
            if (!$model->hasData('is_active')) {
                $model->setIsActive(1);
            }
        }

        $baseFieldset->addField(
            'username',
            'text',
            [
                'name' => 'username',
                'label' => __('User Name'),
                'id' => 'username',
                'title' => __('User Name'),
                'required' => true
            ]
        );

        $baseFieldset->addField(
            'firstname',
            'text',
            [
                'name' => 'firstname',
                'label' => __('First Name'),
                'id' => 'firstname',
                'title' => __('First Name'),
                'required' => true
            ]
        );

        $baseFieldset->addField(
            'lastname',
            'text',
            [
                'name' => 'lastname',
                'label' => __('Last Name'),
                'id' => 'lastname',
                'title' => __('Last Name'),
                'required' => true
            ]
        );

        // Adding new field for Scope Access
        $baseFieldset->addField(
            'accessible_store',
            'select',
            [
                'name' => 'accessible_store',
                'label' => __('Accessible Store'),
                'id' => 'accessible_store',
                'title' => __('Accessible Store'),
                'class' => 'input-select',
                'options' => ['3' => __('Global Store'), 
                              '1' => __('Malaysia Pavillion'), 
                              '2' => __('Thailand Pavilion')],
                'required' => true
            ]
        );

        $baseFieldset->addField(
            'email',
            'text',
            [
                'name' => 'email',
                'label' => __('Email'),
                'id' => 'customer_email',
                'title' => __('User Email'),
                'class' => 'required-entry validate-email',
                'required' => true
            ]
        );

        $isNewObject = $model->isObjectNew();
        if ($isNewObject) {
            $passwordLabel = __('Password');
        } else {
            $passwordLabel = __('New Password');
        }
        $confirmationLabel = __('Password Confirmation');
        $this->_addPasswordFields($baseFieldset, $passwordLabel, $confirmationLabel, $isNewObject);

        $baseFieldset->addField(
            'interface_locale',
            'select',
            [
                'name' => 'interface_locale',
                'label' => __('Interface Locale'),
                'title' => __('Interface Locale'),
                'values' => $this->deployedLocales->getOptionLocales(),
                'class' => 'select'
            ]
        );

        if ($this->_authSession->getUser()->getId() != $model->getUserId()) {
            $baseFieldset->addField(
                'is_active',
                'select',
                [
                    'name' => 'is_active',
                    'label' => __('This account is'),
                    'id' => 'is_active',
                    'title' => __('Account Status'),
                    'class' => 'input-select',
                    'options' => ['1' => __('Active'), '0' => __('Inactive')]
                ]
            );
        }

        $baseFieldset->addField('user_roles', 'hidden', ['name' => 'user_roles', 'id' => '_user_roles']);

        $currentUserVerificationFieldset = $form->addFieldset(
            'current_user_verification_fieldset',
            ['legend' => __('Current User Identity Verification')]
        );
        $currentUserVerificationFieldset->addField(
            self::CURRENT_USER_PASSWORD_FIELD,
            'password',
            [
                'name' => self::CURRENT_USER_PASSWORD_FIELD,
                'label' => __('Your Password'),
                'id' => self::CURRENT_USER_PASSWORD_FIELD,
                'title' => __('Your Password'),
                'class' => 'input-text validate-current-password required-entry',
                'required' => true
            ]
        );

        $data = $model->getData();
        unset($data['password']);
        unset($data[self::CURRENT_USER_PASSWORD_FIELD]);
        $form->setValues($data);

        $this->setForm($form);

        //return parent::_prepareForm();
        return \Magento\Backend\Block\Widget\Form\Generic::_prepareForm();
    }

}

और धन्यवाद @Rob साझा करने के लिए जहां से शुरू करने के लिए।


2

बस एक और काम करने का उदाहरण जोड़ने के लिए, मैं वेबसाइट व्यवस्थापक पृष्ठ को अधिलेखित करने में सफल रहा। मैं वेबसाइट संपादन पृष्ठ पर एक URL फ़ील्ड जोड़ने का प्रयास कर रहा था।

मैंने वैसा ही किया जैसा कि मान्य उत्तर में कहा गया है लेकिन मैंने एक नया क्षेत्र नहीं जोड़ा है। इसके बजाय, मैंने मौजूदा को पूरा कर लिया है, यह वेबसाइट कक्षा में परिभाषित आईडी का उपयोग कर रहा है।

इसके अलावा, वेबसाइट के मॉडल को पुनः प्राप्त करने और डेटाबेस के वर्तमान मूल्य को फॉर्म के अंदर डालने के लिए, इसका उपयोग करने के लिए I'v ने इनहेरिटेंस का उपयोग किया (यह Magento वेबसाइट क्लास से भी कॉपी किया गया है)।

शर्त में, यह Magento के डेटाबेस के store_website तालिका में कॉलम 'url' को जोड़ने की आवश्यकता है।

यहाँ कार्य करने का परिणाम है (Magento 2.1 में परीक्षण किया गया है):

<?php

namespace Vendor\Store\Plugin\Block\System\Store\Edit\Form;

class Website extends \Magento\Backend\Block\System\Store\Edit\Form\Website
{
    /**
     * Get form HTML
     *
     * @return string
     */
    public function aroundGetFormHtml(
        \Magento\Backend\Block\System\Store\Edit\Form\Website $subject,
        \Closure $proceed
    )
    {
        $form = $subject->getForm();
        if (is_object($form)) {

            // From \Magento\Backend\Block\System\Store\Edit\Form\Website :
            $websiteModel = $this->_coreRegistry->registry('store_data');
            $postData = $this->_coreRegistry->registry('store_post_data');
            if ($postData) {
                $websiteModel->setData($postData['website']);
            }

            // Fieldset name from \Magento\Backend\Block\System\Store\Edit\Form\Website
            $fieldset = $form->getElement('website_fieldset');
            $fieldset->addField(
                'website_url',
                'text',
                [
                    'name' => 'website[url]', // From \Magento\Backend\Block\System\Store\Edit\Form\Website
                    'label' => __('Website URL'),
                    'value' => $websiteModel->getData('url'),
                    'title' => __('Website URL'),
                    'required' => false
                ]
            );

            $subject->setForm($form);
        }

        return $proceed();
    }
}

और Vendor / Store / etc / adminhtml निर्देशिका में di.xml फ़ाइल (मान्य उत्तर से यहाँ कुछ भी नया नहीं है):

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Backend\Block\System\Store\Edit\Form\Website">
        <plugin name="admin_website_plugin" type="Vendor\Store\Plugin\Block\System\Store\Edit\Form\Website" sortOrder="1"/>
    </type>
</config>

0

मैंने आपके समाधान में सिर्फ एक मामूली बदलाव किया और यह मेरे लिए काम कर गया:

class Main extends \Magento\Backend\Block\Widget\Form\Generic
{
//Copied All the code in --- Magento\User\Block\User\Edit\Tab\Main
//added my own field in _prepareForm function

}

यदि आप चाहें, तो मैं संपूर्ण समाधान पोस्ट कर सकता हूं - लेकिन मुझे इसे संशोधित करना होगा क्योंकि मेरी कंपनी के मानदंडों के अनुसार मैं सार्वजनिक मंचों पर कोड नहीं दिखा सकता। तो बस मुझे बताएं कि क्या आप इसे स्वयं कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.