I’m thinking that we could use <ul>s to structure the manager menus:
<ul>
<li>Main1</li>
<ul>
<li>item1</li>
<li>item2</li>
</ul>
</ul>
<ul>
<li>Main2</li>
<ul>
<li>item1</li>
<li>item2</li>
</ul>
</ul>
The core menus will be stored inside the database using the structure:
id, name, action, parentid
A menu file (cms.menus.php) could be generated and stored inside the assets/cache folder to prevent reading data from database. cache file can be regenerated when a new module or resource is installed.
On-the-fly menus could return their values based on the OnMenuItemPreRender event. On-the-fly menus will not be cached.
ok,
remember that manager class names and ids should use a prefix (e.g. cms_)