Остановить выполнение после рендеринга в beforeFilter CakePHP

В моем приложении CakePHP 2 у меня проблема с beforeFilter. В этой веткеэто работало хорошо. Из-за старой версии CakePHP.

В моем коде, если пользователь не авторизован, я хочу показать ему "anotherview.ctp". Я не хочу перенаправлять посетителя на другую страницу. (из-за проблем с AdSense)

Когда я использую "this->render" в beforeFilter, также запускается код в моем действии "index". Я хочу остановить выполнение после последней строки «beforeFilter». Когда я добавляю «exit()» в beforeFilter, мой код ломается.

Как я могу остановить выполнение в beforeFilter, не нарушая код?

class MyController extends AppController {
    function beforeFilter() {
        if ( $authorization == false )  {
                $this->render('anotherview');
                //exit();
            }
        }
    }

    function index() {
        // show authorized staff
    }           
}

6
задан Community 23 May 2017 в 12:17
поделиться