Вот создал фильтр, но он не работает, просто выводит главную страницу (/site/index)
class FilterBannedIp extends ActionFilter {
public function beforeAction($action) {
$bannedIp = BannedIp::findByIp(Yii::$app->request->getUserIP());
// die(var_dump(Yii::$app->request->getUserIP()));
// die($bannedIp->ip);
if ($bannedIp && $bannedIp->isBanned(Yii::$app->request->getUserIP())) {
if (Yii::$app->request->isAjax) {
return 'Error: Ваш IP заблокирован';
} else {
return $action->controller->render('/site/banned_ip', [
'bannedIp' => $bannedIp,
]);
}
}
return parent::beforeAction($action);
}
}
Условие срабатывает, я проверил, и если указать несуществующий файл в $action->controller->render получаю ошибку, но какой шаблон не укажи, всегда выводит главную страницу.
И как вообще правильно сделать фильтр по IP ко всем контроллерам?