Я пытаюсь выяснить ACL, и поэтому я пытаюсь проработать руководство в книге (кстати, Cake 1.3).
Я создал таблицы базы данных (aros, acos, aros_acos). Однако как только я пытаюсь включить компонент Acl в свой AppController, я получаю фатальную ошибку при попытке доступа к любой странице:
Неустранимая ошибка (256): ConnectionManager :: getDataSource - Несуществующий источник данных [CORE / cake / libs / model / connection_manager.php, строка 102]
В моем AppController:
public $components = array('Auth','Session','RequestHandler','Acl');
Удаление Acl из массива компонентов заставляет все снова работать.
Ошибки исчезают, когда я закомментировал какой-то код в своем AppController. Вот код - закомментированные строки виноваты. AppModel :: slugList () - это настраиваемая функция, которая просто выполняет поисковый запрос на основе слага. Работает нормально, по крайней мере, пока не включен Acl.
if ($this->modelClass != 'Country'){
$this->loadModel('Country');
}
if ($this->modelClass != 'Category'){
$this->loadModel('Category');
}
$this->Session->write('Country',1);
$this->Session->write('City',1);
$_countryId = $this->Session->read('Country');
//$_countries = $this->Country->slugList();
$_cityId = $this->Session->read('City');
//$_cities = $this->Country->City->slugList();
Изменить - также появляются три уведомления:
Notice (8): Trying to get property of non-object [CORE/cake/libs/model/datasources/dbo_source.php, line 813]
Notice (8): Trying to get property of non-object [CORE/cake/libs/model/datasources/dbo_source.php, line 838]
Notice (8): Trying to get property of non-object [CORE/cake/libs/model/datasources/dbo_source.php, line 841]