I run a simple site using Protostar and Joomla's standard menu module. In order to achieve a better user experience I've done two things:
1. bought an extension in order to get more flexibility for my menues (note that the issues below occur without this extension installed)
2. changed my menu structure from :
Menu item=>Intro article for X
Sub menu item=>Detail article 1 for X
Sub menu item=> Detail article 2 for X
Menu item=>Intro article for Y
Sub menu=>Detail article 1 for Y
...
to:
Menu item=>Menu heading for X (that is I convert the existing "Menu item X" from being a "Single article" menu to "System link-Menu heading")
Sub menu item=>Intro article for X (that is I add a new "Single article" menu a place it directly under the menu heading)
Sub menu item=>Detail article 1 for X
Sub menu item=> Detail article 2 for X
Menu item=>Menu heading for Y
Sub menu item=>Intro article for Y
....
Question 1
In -some cases- the newly created Sub menu item and its connected Intro article creates the following errors:
PHP Notice: Undefined index: option in [path]\components\com_content\views\article\view.html.php on line 245
PHP Stack trace:
PHP 1. {main}() [path]\index.php:0
PHP 2. Joomla\CMS\Application\CMSApplication->execute() [path]\index.php:49
PHP 3. Joomla\CMS\Application\SiteApplication->doExecute() [path]\libraries\src\Application\CMSApplication.php:196
PHP 4. Joomla\CMS\Application\SiteApplication->dispatch() [path]\libraries\src\Application\SiteApplication.php:233
PHP 5. Joomla\CMS\Component\ComponentHelper::renderComponent() [path]\libraries\src\Application\SiteApplication.php:194
PHP 6. Joomla\CMS\Component\ComponentHelper::executeComponent() [path]\libraries\src\Component\ComponentHelper.php:377
PHP 7. require_once() [path]\libraries\src\Component\ComponentHelper.php:402
PHP 8. Joomla\CMS\MVC\Controller\BaseController->execute() [path]\components\com_content\content.php:43
PHP 9. ContentController->display() [path]\libraries\src\MVC\Controller\BaseController.php:710
PHP 10. Joomla\CMS\MVC\Controller\BaseController->display() [path]\components\com_content\controller.php:118
PHP 11. ContentViewArticle->display() [path]\libraries\src\MVC\Controller\BaseController.php:672
PHP 12. ContentViewArticle->_prepareDocument() [path]\components\com_content\views\article\view.html.php:208
PHP Notice: Undefined index: option in [path]\components\com_content\views\article\view.html.php on line 253
PHP Stack trace:
PHP 1. {main}() [path]\index.php:0
PHP 2. Joomla\CMS\Application\CMSApplication->execute() [path]\index.php:49
PHP 3. Joomla\CMS\Application\SiteApplication->doExecute() [path]\libraries\src\Application\CMSApplication.php:196
PHP 4. Joomla\CMS\Application\SiteApplication->dispatch() [path]\libraries\src\Application\SiteApplication.php:233
PHP 5. Joomla\CMS\Component\ComponentHelper::renderComponent() [path]\libraries\src\Application\SiteApplication.php:194
PHP 6. Joomla\CMS\Component\ComponentHelper::executeComponent() [path]\libraries\src\Component\ComponentHelper.php:377
PHP 7. require_once() [path]\libraries\src\Component\ComponentHelper.php:402
PHP 8. Joomla\CMS\MVC\Controller\BaseController->execute() [path]\components\com_content\content.php:43
PHP 9. ContentController->display() [path]\libraries\src\MVC\Controller\BaseController.php:710
PHP 10. Joomla\CMS\MVC\Controller\BaseController->display() [path]\components\com_content\controller.php:118
PHP 11. ContentViewArticle->display() [path]\libraries\src\MVC\Controller\BaseController.php:672
PHP 12. ContentViewArticle->_prepareDocument() [path]\components\com_content\views\article\view.html.php:208
PHP Notice: Undefined index: option in [path]\components\com_content\views\article\view.html.php on line 253
PHP Stack trace:
PHP 1. {main}() [path]\index.php:0
PHP 2. Joomla\CMS\Application\CMSApplication->execute() [path]\index.php:49
PHP 3. Joomla\CMS\Application\SiteApplication->doExecute() [path]\libraries\src\Application\CMSApplication.php:196
PHP 4. Joomla\CMS\Application\SiteApplication->dispatch() [path]\libraries\src\Application\SiteApplication.php:233
PHP 5. Joomla\CMS\Component\ComponentHelper::renderComponent() [path]\libraries\src\Application\SiteApplication.php:194
PHP 6. Joomla\CMS\Component\ComponentHelper::executeComponent() [path]\libraries\src\Component\ComponentHelper.php:377
PHP 7. require_once() [path]\libraries\src\Component\ComponentHelper.php:402
PHP 8. Joomla\CMS\MVC\Controller\BaseController->execute() [path]\components\com_content\content.php:43
PHP 9. ContentController->display() [path]\libraries\src\MVC\Controller\BaseController.php:710
PHP 10. Joomla\CMS\MVC\Controller\BaseController->display() [path]\components\com_content\controller.php:118
PHP 11. ContentViewArticle->display() [path]\libraries\src\MVC\Controller\BaseController.php:672
PHP 12. ContentViewArticle->_prepareDocument() [path]\components\com_content\views\article\view.html.php:208
These do not occur if I set "Enable URL optimization" to "No". I know that these are only "Notices" and can be hidden but I assume they are a result of an error somewhere and I would like to correct it. Any idea?
URL: https://xxxx.com
userid: xxxx
pw: xxxx
Menues on this test site are still based on Protostar and standard Joomla menu module and are not converted as described above. You can see the converted menu structure on https://www.xxxx.com but then with JMB Tree as menu module. You can play around freely on this test-site.
Question 2 (let me know if I should open this as a separate ticket)
During my testing I found that:
- search.html has close to 130 duplicates
- two articles have 3 duplicates
- close to 30 articles have 2 duplicates
- around 100 articles have 1 duplicates
You can see them on the test site.
How come and what can I do about it, just delete the URLs and their duplicates and hope that they don't come back, or...?!
Are the PHP Notices above connected to this?
Question 3 (which I assume is candidate for a separate ticket and should be taken later, when the above is sorted out. let me know!)
On my live site (https://www.xxxx.com) I have updated the menues as per above and installed the extension JMB Tree Pro. It has been up a week and when I recently checked the "404 requests" I can see that I have a lot of internal 404s coming from URLs that consists of strange combinations of article categories that I use for the URL-construction. Google search doesn't report any such errors and I cannot recreate them myself.
How come? Can the PHP Notices or duplicates above be connected to this?
1. bought an extension in order to get more flexibility for my menues (note that the issues below occur without this extension installed)
2. changed my menu structure from :
Menu item=>Intro article for X
Sub menu item=>Detail article 1 for X
Sub menu item=> Detail article 2 for X
Menu item=>Intro article for Y
Sub menu=>Detail article 1 for Y
...
to:
Menu item=>Menu heading for X (that is I convert the existing "Menu item X" from being a "Single article" menu to "System link-Menu heading")
Sub menu item=>Intro article for X (that is I add a new "Single article" menu a place it directly under the menu heading)
Sub menu item=>Detail article 1 for X
Sub menu item=> Detail article 2 for X
Menu item=>Menu heading for Y
Sub menu item=>Intro article for Y
....
Question 1
In -some cases- the newly created Sub menu item and its connected Intro article creates the following errors:
PHP Notice: Undefined index: option in [path]\components\com_content\views\article\view.html.php on line 245
PHP Stack trace:
PHP 1. {main}() [path]\index.php:0
PHP 2. Joomla\CMS\Application\CMSApplication->execute() [path]\index.php:49
PHP 3. Joomla\CMS\Application\SiteApplication->doExecute() [path]\libraries\src\Application\CMSApplication.php:196
PHP 4. Joomla\CMS\Application\SiteApplication->dispatch() [path]\libraries\src\Application\SiteApplication.php:233
PHP 5. Joomla\CMS\Component\ComponentHelper::renderComponent() [path]\libraries\src\Application\SiteApplication.php:194
PHP 6. Joomla\CMS\Component\ComponentHelper::executeComponent() [path]\libraries\src\Component\ComponentHelper.php:377
PHP 7. require_once() [path]\libraries\src\Component\ComponentHelper.php:402
PHP 8. Joomla\CMS\MVC\Controller\BaseController->execute() [path]\components\com_content\content.php:43
PHP 9. ContentController->display() [path]\libraries\src\MVC\Controller\BaseController.php:710
PHP 10. Joomla\CMS\MVC\Controller\BaseController->display() [path]\components\com_content\controller.php:118
PHP 11. ContentViewArticle->display() [path]\libraries\src\MVC\Controller\BaseController.php:672
PHP 12. ContentViewArticle->_prepareDocument() [path]\components\com_content\views\article\view.html.php:208
PHP Notice: Undefined index: option in [path]\components\com_content\views\article\view.html.php on line 253
PHP Stack trace:
PHP 1. {main}() [path]\index.php:0
PHP 2. Joomla\CMS\Application\CMSApplication->execute() [path]\index.php:49
PHP 3. Joomla\CMS\Application\SiteApplication->doExecute() [path]\libraries\src\Application\CMSApplication.php:196
PHP 4. Joomla\CMS\Application\SiteApplication->dispatch() [path]\libraries\src\Application\SiteApplication.php:233
PHP 5. Joomla\CMS\Component\ComponentHelper::renderComponent() [path]\libraries\src\Application\SiteApplication.php:194
PHP 6. Joomla\CMS\Component\ComponentHelper::executeComponent() [path]\libraries\src\Component\ComponentHelper.php:377
PHP 7. require_once() [path]\libraries\src\Component\ComponentHelper.php:402
PHP 8. Joomla\CMS\MVC\Controller\BaseController->execute() [path]\components\com_content\content.php:43
PHP 9. ContentController->display() [path]\libraries\src\MVC\Controller\BaseController.php:710
PHP 10. Joomla\CMS\MVC\Controller\BaseController->display() [path]\components\com_content\controller.php:118
PHP 11. ContentViewArticle->display() [path]\libraries\src\MVC\Controller\BaseController.php:672
PHP 12. ContentViewArticle->_prepareDocument() [path]\components\com_content\views\article\view.html.php:208
PHP Notice: Undefined index: option in [path]\components\com_content\views\article\view.html.php on line 253
PHP Stack trace:
PHP 1. {main}() [path]\index.php:0
PHP 2. Joomla\CMS\Application\CMSApplication->execute() [path]\index.php:49
PHP 3. Joomla\CMS\Application\SiteApplication->doExecute() [path]\libraries\src\Application\CMSApplication.php:196
PHP 4. Joomla\CMS\Application\SiteApplication->dispatch() [path]\libraries\src\Application\SiteApplication.php:233
PHP 5. Joomla\CMS\Component\ComponentHelper::renderComponent() [path]\libraries\src\Application\SiteApplication.php:194
PHP 6. Joomla\CMS\Component\ComponentHelper::executeComponent() [path]\libraries\src\Component\ComponentHelper.php:377
PHP 7. require_once() [path]\libraries\src\Component\ComponentHelper.php:402
PHP 8. Joomla\CMS\MVC\Controller\BaseController->execute() [path]\components\com_content\content.php:43
PHP 9. ContentController->display() [path]\libraries\src\MVC\Controller\BaseController.php:710
PHP 10. Joomla\CMS\MVC\Controller\BaseController->display() [path]\components\com_content\controller.php:118
PHP 11. ContentViewArticle->display() [path]\libraries\src\MVC\Controller\BaseController.php:672
PHP 12. ContentViewArticle->_prepareDocument() [path]\components\com_content\views\article\view.html.php:208
These do not occur if I set "Enable URL optimization" to "No". I know that these are only "Notices" and can be hidden but I assume they are a result of an error somewhere and I would like to correct it. Any idea?
URL: https://xxxx.com
userid: xxxx
pw: xxxx
Menues on this test site are still based on Protostar and standard Joomla menu module and are not converted as described above. You can see the converted menu structure on https://www.xxxx.com but then with JMB Tree as menu module. You can play around freely on this test-site.
Question 2 (let me know if I should open this as a separate ticket)
During my testing I found that:
- search.html has close to 130 duplicates
- two articles have 3 duplicates
- close to 30 articles have 2 duplicates
- around 100 articles have 1 duplicates
You can see them on the test site.
How come and what can I do about it, just delete the URLs and their duplicates and hope that they don't come back, or...?!
Are the PHP Notices above connected to this?
Question 3 (which I assume is candidate for a separate ticket and should be taken later, when the above is sorted out. let me know!)
On my live site (https://www.xxxx.com) I have updated the menues as per above and installed the extension JMB Tree Pro. It has been up a week and when I recently checked the "404 requests" I can see that I have a lot of internal 404s coming from URLs that consists of strange combinations of article categories that I use for the URL-construction. Google search doesn't report any such errors and I cannot recreate them myself.
How come? Can the PHP Notices or duplicates above be connected to this?