व्यवस्थापक कॉन्फ़िगर करने की त्रुटि: अनिर्धारित सूचकांक: आईडी 59 पर Iterator.php में


17

क्या कोई मुझे इस त्रुटि की व्याख्या कर सकता है?

Exception #0 (Exception): Notice: Undefined index: id in /home/staging/vendor/magento/module-config/Model/Config/Structure/Element/Iterator.php on line 59
    #0 /home/staging/vendor/magento/module-config/Model/Config/Structure/Element/Iterator.php(59): Magento\Framework\App\ErrorHandler->handler(8, 'Undefined index...', '/home/asconveyo...', 59, Array)
    #1 /home/staging/vendor/magento/module-config/Model/Config/Structure.php(92): Magento\Config\Model\Config\Structure\Element\Iterator->setElements(Array, 'default')
    #2 /home/staging/var/generation/Magento/Config/Model/Config/Structure/Interceptor.php(24): Magento\Config\Model\Config\Structure->getTabs()
    #3 /home/staging/vendor/magento/module-config/Model/Config/Structure.php(135): Magento\Config\Model\Config\Structure\Interceptor->getTabs()
    #4 /home/staging/var/generation/Magento/Config/Model/Config/Structure/Interceptor.php(63): Magento\Config\Model\Config\Structure->getFirstSection()
    #5 /home/staging/vendor/magento/module-config/Controller/Adminhtml/System/AbstractConfig.php(57): Magento\Config\Model\Config\Structure\Interceptor->getFirstSection()
    #6 /home/staging/vendor/magento/framework/Interception/Interceptor.php(74): Magento\Config\Controller\Adminhtml\System\AbstractConfig->dispatch(Object(Magento\Framework\App\Request\Http))
    #7 /home/staging/vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Config\Controller\Adminhtml\System\Config\Index\Interceptor->___callParent('dispatch', Array)
    #8 /home/staging/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Config\\...', 'dispatch', Object(Magento\Config\Controller\Adminhtml\System\Config\Index\Interceptor), Array, 'adminAuthentica...')
    #9 /home/staging/vendor/magento/module-backend/App/Action/Plugin/Authentication.php(143): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain\{closure}(Object(Magento\Framework\App\Request\Http))
    #10 /home/staging/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\Backend\App\Action\Plugin\Authentication->aroundDispatch(Object(Magento\Config\Controller\Adminhtml\System\Config\Index\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
    #11 /home/staging/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Config\\...', 'dispatch', Object(Magento\Config\Controller\Adminhtml\System\Config\Index\Interceptor), Array, 'adminMassaction...')
    #12 /home/staging/vendor/magento/module-backend/App/Action/Plugin/MassactionKey.php(33): Magento\Config\Controller\Adminhtml\System\Config\Index\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
    #13 /home/staging/vendor/magento/framework/Interception/Interceptor.php(142): Magento\Backend\App\Action\Plugin\MassactionKey->aroundDispatch(Object(Magento\Config\Controller\Adminhtml\System\Config\Index\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
    #14 /home/staging/var/generation/Magento/Config/Controller/Adminhtml/System/Config/Index/Interceptor.php(39): Magento\Config\Controller\Adminhtml\System\Config\Index\Interceptor->___callPlugins('dispatch', Array, Array)
    #15 /home/staging/vendor/magento/framework/App/FrontController.php(55): Magento\Config\Controller\Adminhtml\System\Config\Index\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
    #16 /home/staging/vendor/magento/framework/Interception/Interceptor.php(74): Magento\Framework\App\FrontController->dispatch(Object(Magento\Framework\App\Request\Http))
    #17 /home/staging/vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Framework\App\FrontController\Interceptor->___callParent('dispatch', Array)
    #18 /home/staging/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'install')
    #19 /home/staging/vendor/magento/framework/Module/Plugin/DbStatusValidator.php(69): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
    #20 /home/staging/vendor/magento/framework/Interception/Interceptor.php(142): Magento\Framework\Module\Plugin\DbStatusValidator->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
    #21 /home/staging/var/generation/Magento/Framework/App/FrontController/Interceptor.php(26): Magento\Framework\App\FrontController\Interceptor->___callPlugins('dispatch', Array, Array)
    #22 /home/staging/vendor/magento/framework/App/Http.php(135): Magento\Framework\App\FrontController\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
    #23 /home/staging/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http->launch()
    #24 /home/staging/index.php(42): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http))
    #25 {main}

नमस्ते, क्या आपने कोई नया एक्सटेंशन स्थापित किया है?
मीतांशी

यदि आप कर सकते हैं तो अपने मॉड्यूल xml (system.xml, acl.xml, आदि ..) में अपना कोड पेस्ट करें।
चंदर शेखर

एक ही समस्या होने, डाउनलोड करने के बाद github.com/mageplaza/magento-2-better-popup एक्सटेंशन इंस्टॉल करने के बाद । लेकिन जब संगीतकार के माध्यम से स्थापित यह ठीक काम करता है। मुझे इसकी कार्यक्षमता बदलने की आवश्यकता है यही कारण है कि संगीतकार द्वारा स्थापित नहीं किया जा सकता है। किसी को भी यह हल है?
अजवाड़ सैयद

जवाबों:


31

मुझे एक समान मुद्दे का सामना करना पड़ा है और मेरे मामले में, यह मुद्दा इसलिए था क्योंकि मेरे पास गलत टैब आईडी है system.xml

<tab id="custom_tab" translate="label" sortOrder="2000">
            <label>Custom Tab</label>
        </tab>
        <section id="custom_section" translate="label" type="text" sortOrder="40" showInDefault="1" showInWebsite="1" showInStore="1">
            <class>separator-top</class>
            <label>Custom Section</label>
            <tab>customtab</tab>

समस्या को ठीक करने के लिए, मैं बदल
<tab>customtab</tab>
गया
<tab>custom_tab</tab>


हाय @Anshu मिश्रा उपरोक्त उत्तर मेरे लिए मदद की है, लेकिन जब मैं व्यवस्थापक से मॉड्यूल नहीं disablinhg इसकी ओर से।
शिवशंकर एम।

7

डीबग करने का एक आसान तरीका है: ब्राउज़ करें और विक्रेता / Magento / मॉड्यूल-कॉन्फिगरेशन / मॉडल / कॉन्फिगरेशन / स्ट्रक्चर / एलिमेंट / Iterator.php

परिवर्तन

public function setElements(array $elements, $scope)
    {
        $this->_elements = $elements;
        $this->_scope = $scope;
        if (count($elements)) {
            $lastElement = end($elements);
            $this->_lastId = $lastElement['id'];
        }
    }

सेवा

public function setElements(array $elements, $scope)
    {
        $writer = new \Zend\Log\Writer\Stream(BP . '/var/log/config_debug.log');
        $logger = new \Zend\Log\Logger();
        $logger->addWriter($writer);

        $this->_elements = $elements;
        $this->_scope = $scope;

        $logger->info($elements);

        if (count($elements)) {
            $lastElement = end($elements);
            $this->_lastId = $lastElement['id'];
        }
    }

ब्राउज़र कॉन्फ़िगरेशन विंडो पुनः लोड करें और एक बार फिर त्रुटि देखें।

Var / log / config_debug.log फ़ाइल की जाँच करें।

फ़ाइल के बहुत नीचे जाएं और देखें कि कौन सा मॉड्यूल विफल हो गया, जहां यह बंद हो गया।

यह आपके मुद्दों का कारण है।

एक बार तय करने के बाद अपने परिवर्तनों को रोलबैक करना न भूलें।


6

मेरे मामले में त्रुटि को फेंक दिया गया क्योंकि टैब को मॉड्यूल में परिभाषित किया गया था जो अक्षम है, लेकिन किसी अन्य मॉड्यूल में उपयोग किया जाता है जो सक्षम है। इसलिए, मैं आपको यह जांचने की सलाह देता हूं idकि निर्दिष्ट वर्ग में कौन सा टैब नहीं है:

डिबग उदाहरण

फिर, पूरे प्रोजेक्ट ( system.xmlफ़ाइल में) द्वारा उस नाम को खोजें और जांचें कि क्या मॉड्यूल सक्षम है।

पुनश्च : स्क्रीनशॉट पर कोई त्रुटि नहीं है, लेकिन वास्तव में इसे DeliveryTimeमॉड्यूल द्वारा निकाल दिया गया था , क्योंकि Coreजब मैंने स्टोर कॉन्फ़िगरेशन पेज तक पहुंचने का प्रयास किया था , तो मॉड्यूल अक्षम था।


3

मेरे मामले में, मैं स्थापित किया है https://www.mageplaza.com/magento-2store-credit/ विस्तार, लेकिन Mageplaza की कोर मॉड्यूल स्थापित नहीं किया था।

मैंने पाया है कि <tab>mageplaza</tab>में mentined system.xmlलेकिन टैब इस फाइल में परिभाषित नहीं है। इसलिए, https://github.com/mageplaza/module-core से Mageplaza के लिए मुख्य मॉड्यूल स्थापित किया गया है और यह ठीक काम कर रहा है।


धन्यवाद @ करनाल सवैया
प्रदीप गरचर

यहाँ भी, सिवाय इसके कि मैं मॉड्यूल संगीतकार के माध्यम से स्थापित किया था, लेकिन यह सक्षम नहीं था। bin/magento module:enable Mageplaza_Coreतय हो गया कि
थॉमस लुज़ात

1

मैं भी Magento2 में इस मुद्दे का सामना किया है। यह मेरा system.xml फ़ाइल है


<tab id="cnet" translate="label" sortOrder="10">
            <label>CNET</label>
        </tab>
        <section id="cnet" translate="label" sortOrder="130" showInDefault="1" showInWebsite="1" showInStore="1">
            <class>separator-top</class>
            <label>General Information</label>
            <tab>cnet</tab>
Please change tab id = "cnet" and <tab>cnet</tab>.
If its not matching error will be occur. After change this one run the "sudo php bin/magento setup:di:compile"

0

यह समस्या system.xml के कारण आ रही है। कृपया नीचे दिए अनुसार सही करें, आपका सिस्टम टैब आईडी = " custom_tab " अनुवाद = "लेबल" सॉर्टऑर्डर = "10"> और अनुभाग के तहत टैब का नाम समान होना चाहिए।

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