When I try to add a new user role in the admin I get the following notice on production mode (and developer mode too):
Notice: Undefined index: title in [...]/vendor/magento/module-integration/Helper/Data.php on line 24
Anyone knows what causes this? Or why I even am seeing notices on production mode? I thought those where suppressed?
@kanduvisla what version of Magento?
+1
Magento ver. 2.0.4
@kanduvisla @aunts thank you for reporting, we have created MAGETWO-52619 to investigate and fix.
Hi @kanduvisla @aunts could one of you please provide detailed steps on how to reproduce this? This seems like a problem with one of the ACL nodes. Possibly it doesn't have the attribute 'title'.
Hi @hshar7
Hope it works for you as well!?
Unfortunately I cannot reproduce that. I am on 2.0.4 and I am able to add new roles correctly. Could you clear your cache and try again? Maybe your acl cache is corrupt?
If that doesn't work can you try putting a breakpoint at ../vendor/magento/module-integration/Helper/Data.php on line 24 and use xdebug to investigate which resource is causing this? Maybe that will give you an idea of why it is failing.
Any updates @aunts ?
@hshar7 You are right. There was a missing title tag in one custom acl xml. Now it's working fine. I think we can close this ticket!
The ACL XSD needs to be updated for this, because it states that title isn't required but the data helper depends on it.
Thanks @joost-florijn-kega MAGETWO-52792 created to take care of that.
Getting this error in 2.0.7 as well.
This still occurs in 2.1
This issue has been fixed and delivered to mainline.
i added the log(magento 2.1.1)
`
1 exception(s):
Exception #0 (Exception): Notice: Undefined index: title in /home/magentop/public_html/vendor/magento/module-integration/Helper/Data.php on line 24
Exception #0 (Exception): Notice: Undefined index: title in /home/magentop/public_html/vendor/magento/module-integration/Helper/Data.php on line 24
`
i even try to disable all the modules and clean up all the cache from magento and static files and still i had this error . i hope it will be fixed soon . thats a really important bug to solve
Please check if you missing 'title' attribute in custom acl.xml file, i added title attribute for my acl.xml file and it's working now.
I'm having this error as well and I have attached my acl.xml file which seems to show the title attribute is correct. I'm using magento 2.1
acl.txt
@estaticfear What is the file path where the correct acl.xml is located?
@ooples app/code/CompanyName/ModuleName/etc/acl.xml
The issue is that one of your modules doesn't have a title defined in the acl.xml file. The easiest way to fix this is to update in src/vendor/magento/module-integration/Helper/Data.php to have:
$item['data'] = isset($resource['title']) ? $resource['title'] : '';
This will enable the UI to load but for one or many of the modules will have a blank space next to the folder. You then need to let the module developer know to fix the issue, but as a short term fix just add a title attribute to the acl.xml for the module yourself. You can work out which module by inspecting the element.
Wouldn't it be a good idea to add some sort of check for this? Could save a lot of headaches. For example, add the following to Magento\Integration\Helper\Data in the foreach-loop:
if (!isset($resource['title'])) {
throw new \Exception("Title not set for resource {$resource['id']}");
}
This would save a lot of people a lot of frustration.
This happens during the setup process of 2.1.6
Happened the same to me. But is not a Magento issue, is an external extension that doesn't have defined the title in the acl.xml. @kanduvisla's suggestion helped me to find the module. Would be nice to have something similar in further versions.
Most helpful comment
Wouldn't it be a good idea to add some sort of check for this? Could save a lot of headaches. For example, add the following to
Magento\Integration\Helper\Datain theforeach-loop:This would save a lot of people a lot of frustration.