Я знаю, что уже поздно, но для всех, кто ищет, как это сделать, вам нужно добавить его в свой __construct, прежде чем вызывать __construct Родителя.
Так что вы должны сделать что-то вроде этого:
function __construct(){
if($thisIsTrue){
$this->components[] = 'Facebook.Connect'
}
parent::__construct();
}
Вы можете сделать это либо на своих отдельных контроллерах, либо в app_controller, чтобы каждый контроллер его брал.
Единственная проблема, с которой я столкнулся, заключалась в том, что он вызывался так рано, что его труднополучить переменные для оператора if ().В моем примере я хотел, чтобы компонент был только в том случае, если я был на странице администратора, и вместо возможности проверить $ this-> params мне пришлось проверять URL-адрес из $ _SERVER.
Я нашел это решение здесь,но он сказал, что вы должны были сделать это в app_controller, а это не так: Условная загрузка компонентов в CakePHP