2

I have been working on a new Magento website using Magento 2.1.3. And now I need to add an extension but, when I go to system->integrations and click "add new integration" I am given the following error:

1 exception(s):
Exception #0 (Exception): Notice: Undefined index: title in /home/username/public_html/magento/vendor/magento/module-integration/Helper/Data.php on line 24

Exception #0 (Exception): Notice: Undefined index: title in /home/username/public_html/magento/vendor/magento/module-integration/Helper/Data.php on line 24
#0 /home/username/public_html/magento/vendor/magento/module-integration/Helper/Data.php(24): Magento\Framework\App\ErrorHandler->handler(8, 'Undefined index...', '/home/username/...', 24, Array)
#1 /home/username/public_html/magento/vendor/magento/module-integration/Block/Adminhtml/Integration/Edit/Tab/Webapi.php(180): Magento\Integration\Helper\Data->mapResources(Array)
#2 /home/username/public_html/magento/vendor/magento/module-integration/view/adminhtml/templates/resourcetree.phtml(40): Magento\Integration\Block\Adminhtml\Integration\Edit\Tab\Webapi->getTree()
#3 /home/username/public_html/magento/vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/home/username/...')
#4 /home/username/public_html/magento/vendor/magento/framework/View/Element/Template.php(255): Magento\Framework\View\TemplateEngine\Php->render(Object(Magento\Integration\Block\Adminhtml\Integration\Edit\Tab\Webapi), '/home/username/...', Array)
#5 /home/username/public_html/magento/vendor/magento/framework/View/Element/Template.php(279): Magento\Framework\View\Element\Template->fetchView('/home/username/...')
#6 /home/username/public_html/magento/vendor/magento/module-backend/Block/Template.php(104): Magento\Framework\View\Element\Template->_toHtml()
#7 /home/username/public_html/magento/vendor/magento/framework/View/Element/AbstractBlock.php(659): Magento\Backend\Block\Template->_toHtml()
#8 /home/username/public_html/magento/vendor/magento/module-backend/Block/Widget/Tabs.php(387): Magento\Framework\View\Element\AbstractBlock->toHtml()
#9 /home/username/public_html/magento/vendor/magento/module-backend/view/adminhtml/templates/widget/tabs.phtml(57): Magento\Backend\Block\Widget\Tabs->getTabContent(Object(Magento\Integration\Block\Adminhtml\Integration\Edit\Tab\Webapi))
#10 /home/username/public_html/magento/vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/home/username/...')
#11 /home/username/public_html/magento/vendor/magento/framework/View/Element/Template.php(255): Magento\Framework\View\TemplateEngine\Php->render(Object(Magento\Integration\Block\Adminhtml\Integration\Edit\Tabs), '/home/username/...', Array)
#12 /home/username/public_html/magento/vendor/magento/framework/View/Element/Template.php(279): Magento\Framework\View\Element\Template->fetchView('/home/username/...')
#13 /home/username/public_html/magento/vendor/magento/module-backend/Block/Template.php(104): Magento\Framework\View\Element\Template->_toHtml()
#14 /home/username/public_html/magento/vendor/magento/framework/View/Element/AbstractBlock.php(659): Magento\Backend\Block\Template->_toHtml()
#15 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(542): Magento\Framework\View\Element\AbstractBlock->toHtml()
#16 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(518): Magento\Framework\View\Layout->_renderBlock('integration_edi...')
#17 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout->renderNonCachedElement('integration_edi...')
#18 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout->renderElement('integration_edi...')
#19 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('left')
#20 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout->renderNonCachedElement('left')
#21 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout->renderElement('left')
#22 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('side.col')
#23 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout->renderNonCachedElement('side.col')
#24 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout->renderElement('side.col')
#25 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('page.main.conta...')
#26 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout->renderNonCachedElement('page.main.conta...')
#27 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout->renderElement('page.main.conta...')
#28 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('page.content')
#29 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout->renderNonCachedElement('page.content')
#30 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout->renderElement('page.content')
#31 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('page.wrapper')
#32 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout->renderNonCachedElement('page.wrapper')
#33 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout->renderElement('page.wrapper')
#34 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('backend.page')
#35 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout->renderNonCachedElement('backend.page')
#36 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout->renderElement('backend.page')
#37 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('root')
#38 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout->renderNonCachedElement('root')
#39 /home/username/public_html/magento/vendor/magento/framework/View/Layout.php(938): Magento\Framework\View\Layout->renderElement('root')
#40 /home/username/public_html/magento/var/generation/Magento/Framework/View/Layout/Interceptor.php(37): Magento\Framework\View\Layout->getOutput()
#41 /home/username/public_html/magento/vendor/magento/framework/View/Result/Page.php(243): Magento\Framework\View\Layout\Interceptor->getOutput()
#42 /home/username/public_html/magento/vendor/magento/framework/View/Result/Layout.php(164): Magento\Framework\View\Result\Page->render(Object(Magento\Framework\App\Response\Http\Interceptor))
#43 /home/username/public_html/magento/var/generation/Magento/Backend/Model/View/Result/Page/Interceptor.php(24): Magento\Framework\View\Result\Layout->renderResult(Object(Magento\Framework\App\Response\Http\Interceptor))
#44 /home/username/public_html/magento/vendor/magento/framework/App/View.php(221): Magento\Backend\Model\View\Result\Page\Interceptor->renderResult(Object(Magento\Framework\App\Response\Http\Interceptor))
#45 /home/username/public_html/magento/vendor/magento/module-integration/Controller/Adminhtml/Integration/NewAction.php(29): Magento\Framework\App\View->renderLayout()
#46 /home/username/public_html/magento/vendor/magento/framework/App/Action/Action.php(102): Magento\Integration\Controller\Adminhtml\Integration\NewAction->execute()
#47 /home/username/public_html/magento/vendor/magento/module-backend/App/AbstractAction.php(226): Magento\Framework\App\Action\Action->dispatch(Object(Magento\Framework\App\Request\Http))
#48 /home/username/public_html/magento/vendor/magento/framework/Interception/Interceptor.php(74): Magento\Backend\App\AbstractAction->dispatch(Object(Magento\Framework\App\Request\Http))
#49 /home/username/public_html/magento/vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Integration\Controller\Adminhtml\Integration\NewAction\Interceptor->___callParent('dispatch', Array)
#50 /home/username/public_html/magento/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Integra...', 'dispatch', Object(Magento\Integration\Controller\Adminhtml\Integration\NewAction\Interceptor), Array, 'adminAuthentica...')
#51 /home/username/public_html/magento/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))
#52 /home/username/public_html/magento/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\Backend\App\Action\Plugin\Authentication->aroundDispatch(Object(Magento\Integration\Controller\Adminhtml\Integration\NewAction\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#53 /home/username/public_html/magento/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Integra...', 'dispatch', Object(Magento\Integration\Controller\Adminhtml\Integration\NewAction\Interceptor), Array, 'adminMassaction...')
#54 /home/username/public_html/magento/vendor/magento/module-backend/App/Action/Plugin/MassactionKey.php(33): Magento\Integration\Controller\Adminhtml\Integration\NewAction\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#55 /home/username/public_html/magento/vendor/magento/framework/Interception/Interceptor.php(142): Magento\Backend\App\Action\Plugin\MassactionKey->aroundDispatch(Object(Magento\Integration\Controller\Adminhtml\Integration\NewAction\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#56 /home/username/public_html/magento/var/generation/Magento/Integration/Controller/Adminhtml/Integration/NewAction/Interceptor.php(26): Magento\Integration\Controller\Adminhtml\Integration\NewAction\Interceptor->___callPlugins('dispatch', Array, Array)
#57 /home/username/public_html/magento/vendor/magento/framework/App/FrontController.php(55): Magento\Integration\Controller\Adminhtml\Integration\NewAction\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#58 /home/username/public_html/magento/vendor/magento/framework/Interception/Interceptor.php(74): Magento\Framework\App\FrontController->dispatch(Object(Magento\Framework\App\Request\Http))
#59 /home/username/public_html/magento/vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Framework\App\FrontController\Interceptor->___callParent('dispatch', Array)
#60 /home/username/public_html/magento/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'install')
#61 /home/username/public_html/magento/vendor/magento/framework/Module/Plugin/DbStatusValidator.php(69): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#62 /home/username/public_html/magento/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))
#63 /home/username/public_html/magento/var/generation/Magento/Framework/App/FrontController/Interceptor.php(26): Magento\Framework\App\FrontController\Interceptor->___callPlugins('dispatch', Array, Array)
#64 /home/username/public_html/magento/vendor/magento/framework/App/Http.php(135): Magento\Framework\App\FrontController\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#65 /home/username/public_html/magento/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http->launch()
#66 /home/username/public_html/magento/index.php(39): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http))
#67 {main}

I can't find any information on fixing this!

3 Answers 3

0

Removing line 24 of /home/username/public_html/magento/vendor/magento/module-integration/Helper/Data.php solved my issue.

2
  • Please mark your answer as accepted.
    – Greg
    Commented Feb 20, 2018 at 12:46
  • That is not a solution as any future deployment will undo this removal. The underlying issue is probably some 3rd module not properly defining resource. Another issue is that in production environment notice should not be raised to an exception but this is for Magento team to finally sort out.
    – Zefiryn
    Commented Nov 3, 2018 at 17:16
0
`title` attribute is missing from webapi.xml.

There must be a custom module which has website.xml in etc folder and one of the node does not have title.

0

This is a known issue in your version of magneto there have been a number of updates since your version this error relates to there being a title missing within on of the ACL files to fix this you would either need to create a custom extension which replaces the helper or amend the helper directly

Open magento/vendor/magento/module-integration/Helper/Data.php

Find:

$item['data'] = $resource['title'];

Replace With

if(isset($resource['title'])){
    $item['data'] = $resource['title'];
}

Once you have implemented this go into the user roles and see if you can see which module doesn't have a title you can do this by right clicking and inspecting the element this will give you some idea on which module is causing the issue then you can revert this fix.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.