2014-12-09 2 views
0

Я использую CakePHP 2, а основы моего сайта используют Simple Acl Authentication.Настройка переменных в AppController

В старых сайтах, которые я закодировал, мне удалось определить переменную в моем AppController и эхо-строку в моем default.ctp (я использую это для создания моего навигационного меню для каждой страницы). По какой-то причине сейчас это не работает для меня. Я что-то действительно явно ошибаюсь?

//AppController.php 
public function beforeFilter() { 
    .....other Auth code.... 
    $this->set("mytest", "raaa"); 
} 

и в моем default.ctp

<?php echo $mytest; ?> 

и сообщение об ошибке

Notice (8): Undefined variable: mytest [APP\View\Layouts\default.ctp, line 51] 

Так как у меня были другие проблемы с вещами, не работает, как они привыкли с Acl, у меня есть также перезапустите acl_sync и мои пользователи/initDB, чтобы убедиться, что проблема не в том, что с разрешениями. Без изменений.

Надеюсь, я просто пропустил что-то действительно очевидное и его легкое исправление, это было время, так как я закодирован регулярно, продолжайте забывать все! Я что-то забыл с настройками конфигурации, чтобы эта работа работала на моем default.ctp? Любая помощь оценивается.

+1

Вы, скорее всего, забыли родитель :: beforeFilter() вызов в одном из ваших контроллеров. – mark

+0

Извините, не уверен, что вы имеете в виду? Если это в AppController, не будет ли он распространяться на все остальные контроллеры? – Sanfly

+0

Нет, если вы использовали beforeFilter() в одном из них, и вы забыли родительский вызов там, что, скорее всего, вы и сделали. – mark

ответ

0

Это похоже на работу, если я ставлю код в beforeRender(), а не beforeFilter()

Смежные вопросы