Menu Structure
SOLID automatically generates and manages the admin panel's menu structure based on your modules and resources. The menu system provides an intuitive way to navigate through your application's features.
Menu Organization
Automatic Generation
- Each module gets its own menu section
- Resources within modules appear as sub-items
- Menu items are automatically ordered alphabetically
- Access control is integrated with permissions
Menu Hierarchy
├── Module 1
│ ├── Resource 1
│ ├── Resource 2
│ └── Resource 3
├── Module 2
│ ├── Resource 4
│ └── Resource 5
└── System
├── Users
├── Roles
└── Settings
Menu Configuration
You can customize the menu structure through configuration:
{
"menu": {
"items": [
{
"module": "sales",
"label": "Sales Management",
"icon": "shopping-cart",
"order": 1,
"items": [
{
"resource": "customers",
"label": "Customers",
"icon": "users",
"order": 1
},
{
"resource": "orders",
"label": "Orders",
"icon": "file-text",
"order": 2
}
]
}
]
}
}
Configuration Options
| Option | Description |
|---|---|
| label | Display name in the menu |
| icon | Menu item icon |
| order | Custom ordering (lower numbers first) |
| visible | Show/hide menu item |
| roles | Role-based visibility |
Features
Dynamic Updates
- Menu updates automatically when modules/resources change
- Real-time permission checks
- Responsive to user role changes
- Support for dynamic sub-menus
Access Control
- Menu items respect user permissions
- Role-based visibility
- Resource-level access control
- Custom permission rules
Customization
- Custom icons
- Custom ordering
- Custom labels
- Nested menu structures
Best Practices
Organization
- Group related items together
- Use clear, descriptive labels
- Keep menu depth manageable
- Consider user workflow
Permissions
- Set appropriate access levels
- Group similar permissions
- Document permission requirements
- Regular permission audits
User Experience
- Use meaningful icons
- Maintain consistent naming
- Optimize menu depth
- Consider mobile users
Maintenance
- Regular menu audits
- Update outdated labels
- Remove unused items
- Monitor access patterns