Skip to content

RFC - A Joomla Admin Menu Manager  #5492

@brianteeman

Description

@brianteeman

The Joomla admin menus are one of the few things in Joomla that you cannot truly customise. The location of the menu items is as a result of arbitrary decisions made many years ago.

Why have all the components under one menu?

Wouldn't you like to perhaps separate the utilities from the content creation components.

Why is content a top level menu item?

It is just a component. I am sure the logic was that it was a component that is used so often that it deserves its own place. But what if you don't use com_content and use com_seblod - or you even have a photo gallery as your main content creating component.

Wouldn't it be great if you could build and customise the admin menu however you want? I am sure many people have had this thought as well but have you ever looked at the code that generates the menus in the Joomla admin? If you have then I am pretty sure that you will have run away scared.

All the menu items except for the Components menu are hard coded with lots of if statements to cope with the few places that we have options.

I am proposing that we switch the entire admin menu system to be database driven and customisable via an admin menu component. Thecomponent will allow people to move menu items, create and remove top level menus etc.

Backwards compatibility

By default without any modifications the site should look exactly the same.
The big BC issue to address is where do the menu links for NEW components that a user installs get created. The problem is that the user could have removed the "components" top level menu. I would suggest that just as we have to flag a top level menu item as default homepage in the frontend we would have to flag a top level menu item in the admin as well for the default location that new component menu items are created.

Multilanguage issues

Unlike the frontend I would suggest that the admin menu manager can only manage ONE menu and not one per language. Instead of user created menu titles as in the front end we can continue to use the strings from the language files. This will ensure that a site with multiple admin languages installed will only need to manage one menu and that everything will be in the same place in all languages.

Database issues

Currently the jos_extensions table contains all extensions so we would just need to update that table to contain the id for the menu link

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions