Different menu for different roles
BridgeModule now has option composeMenu, that allows you to set different menu items for different roles. Instance of \yii\web\User, array of roles as $roles and $authManager are passed to evaluate required menu items.
In that case default menu items (settings, dashboard and users) will be overridden.
Example
'modules' => [
'admin' => [
'class' => '\naffiq\bridge\BridgeModule',
'composeMenu' => function ($user, $roles, $authManager) {
/**
* @var \yii\web\User $user
* @var string[] $roles
* @var \Da\User\Component\AuthDbManagerComponent $authManager
*/
if (in_array('admin', $roles)) {
return require __DIR__ . '/menu-admin.php';
}
if (in_array('editor', $roles)) {
return require __DIR__ . '/menu-editor.php';
}
if (in_array('manager', $roles)) {
return require __DIR__ . '/menu-manager.php';
}
return __DIR__ . '/menu-default.php';
}
]
],