В web-local.php, параметры подставьте свои.
Yii::$app->siteSettings - компонент, который получает данные из базы данных для настройки сайта, создан для yii2 по примеру https://elisdn.ru/blog/21/yii-i-hranenie-nastroek-... для yii1.
return [
'on beforeAction' => function ($event) use ($params) {
if ( !Yii::$app->user->can('admin') && Yii::$app->siteSettings->get('SITE.OFF_LINE') == 'off' ) {
if ( in_array($event->action->id, $params['no_section']) ) {
return Yii::$app->response->redirect([ 'site/no-section' ]);
}
}
if ( Yii::$app->siteSettings->get('SITE.OFF_LINE') == 'on' ) {
$controllerId = $event->action->controller->id;
if ( !Yii::$app->user->can('admin') ) {
if ( !in_array($controllerId, [ 'admin/default', 'offline' ]) ) {
Yii::$app->user->logout();
return Yii::$app->response->redirect([ 'offline/off-mode' ]);
}
}
}
return false;
},
'on afterAction' => function ($event) {
if ( Yii::$app->siteSettings->get('SITE.OFF_LINE') == 'on' ) {
if ( !Yii::$app->user->isGuest && !Yii::$app->user->can('admin') ) {
Yii::$app->user->logout();
return Yii::$app->response->redirect([ 'offline/off-mode' ]);
}
}
return false;
},
// остальные настройки
]
Какую именно команду нужно прописать в Dockerfile?
Пробовал установить следуя ответу:
https://stackoverflow.com/questions/43408604/php7-...
https://site.url/p/
https://site.url/p/add/25
'p/<add:\w+>/...'
http://site.com/p/add-product
'.../<id:(\d|-)+>'
'rules' => [
…
'p'=>'product/index',
По этому пути файл TbBaseMenu.php точно есть?