Как динамически записывать префиксы маршрутизации из БД


у меня есть таблица БД с префиксами, и мне нужно, чтобы они были доступны для чтения в 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';
    }
}
Другие вопросы по тегам