A quick article for Joomla CMS version 3.x on resolving a menu item alias conflict:
Warning
Save failed with the following error. Another menu item has the same alias in Root. Root is the top level parent
You will need:
- Access to the Joomla Administration Panel (to check for and remove expired menu items)
- A good database administrator who is comfortable with making changes to the database
Why?
We have a page describing the company that we would want entitled "about" or "about-us" but these were already created along the way and then deleted. The system is still storing the offending menu items somewhere.
How?
The fix that I use involves a change to #__menu table in the database for that website. The example used here will be to create an about-us page but I already have two items using the alias "about" and "about-us":
- Login to the Joomla Admin Panel and ensure any similar menu items are accounted for. Remove them if they are not used.
- Create the menu item that caused the warning but give it a temporary alias (eg. for "about" give it the alias "about_new")
- Login to your database and browse to the #__menu table
- Search for any values in the `alias` column that match the term (eg. for "about" do SELECT * FROM #__menu WHERE alias LIKE '%about%' where #_ is the table prefix)
- Instead of deleting, I change the existing menu item alias from "about-us" to "about-us2" as well as any similar `path` value.
- Change the item you created in step #2 (eg. "about_new" to "about-us"), also change the "path" value to match as this will generate your URL.
- Done