Установка переменных в AppController

0

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

На старых сайтах, которые я закодировал, я смог определить переменную в своем 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
    Скорее всего, вы забыли вызов parent :: beforeFilter () в одном из ваших контроллеров.
  • 0
    Извините, не уверен, что вы подразумеваете под этим? Если это в AppController, не будет ли он проходить через все остальные контроллеры?
Показать ещё 2 комментария
Теги:
cakephp
acl

1 ответ

0
Лучший ответ

Кажется, что это работает, если я помещаю код в beforeRender(), а не beforeFilter()

Ещё вопросы

Сообщество Overcoder
Наверх
Меню