Framework solution
All the menu items for a system can be stored in a single database table. The items can be grouped together to form a menu, using an identifying field that is defined in a unique row of a menu type table.
A number of other fields have obvious uses, and the present Aliro menu table is shown in the following screenshot:
The basic fields, whose purpose should be relatively clear, are as follows:
id: A unique integer key.
menutype: Is used to group menu entries into a menu, so is effectively the name of one particular menu. It is a unique field in the menu type table.
name: Is the name of the item, and will be shown to the user.
link: Is a complete or relative URI that defines where the menu item is to point.
type: Is the type of entry, and although there are various possible entries for backwards compatibility, the current possibilities are "url" for a link that has been fully entered by an administrator or "component" for a relative link that has been built by choosing...