Как динамически записывать префиксы маршрутизации из БД
у меня есть таблица БД с префиксами, и мне нужно, чтобы они были доступны для чтения в app_controller beforeFilter
$prefix_array = array('admin', 'marketing');
if ($this->Auth->user() AND in_array(@$this->params['prefix'], $prefix_array)) { $this->layout = 'admin'; } else { $this->layout = 'default';}
Где я должен сделать это в начальной загрузке или app_controller?
-Как я могу динамически читать префикс из БД, установите $ prefix_array
-записать их в Configure::write('Routing.prefixes')
1 ответ
В вашем контроллере приложения просто загрузите префиксы:
var $uses = array('Prefix');
function beforeFilter() {
$prefixes = $this->Prefix->find('list');
if($this->Auth->user() && in_array($this->params['prefix'], $prefixes) {
$this->layout = 'admin';
}
}