In cms I have Categories (hierarchy), Pages (hierarchy) and Links (any other link, like specific search link or link to external site). I want to introduce Menus and allow users to modify them (to change menu items). Menu item should be some Category, Page or Link. So, I need to link table Menus with three different tables that contain menu items. What is the best solution to this?
Categories (id, parent_id, name, ...)
Used cars -> Ford ( /used-cars/ford )
Used cars -> Ford -> Fiesta ( /used-cars/ford/fiesta )
Used cars -> Mazda ( /used-cars/mazda )
...
Pages (id, parent_id, name, path, ...)
Home ( / )
About us ( /about-us )
About us -> Strategy ( /about-us/strategy )
About us -> History ( /about-us/history )
Contact ( /contact )
Finance ( /finance )
Advanced search ( /search )
...
Links (id, name, url, ...)
Diesel cars ( /used-cars/q/fuel/diesel )
Hatchbacks ( /used-cars/q/style/hatchback )
Loans ( http://www.loan-partner-site.com )
...
Menus (id, name, desc, ...)
Main menu
Left menu
Search menu
Main menu
------------
Home ( page )
About us ( page )
Contact ( page )
...
Left menu
------------
Used cars ( category )
Finance ( page )
Loans ( link )
...
Search menu
------------
Ford cars ( category )
Mazda cars ( category )
Diesel cars ( link )
Hatchbacks ( link )
Advanced search ( page )
...