Лучший способ заполнить раскрывающийся список - PullRequest
0 голосов
/ 01 июля 2011

Я использую CakePHP 1.3 и макет, который включает в себя раскрывающийся список организаций, к которым пользователь имеет доступ для администрирования, поэтому я пытаюсь заполнить этот раскрывающийся список организациями, которые содержат идентификатор пользователя, который вошел в систему, но я хочу заполнить его прежде чем пользователь увидит что-либо, чтобы они могли использовать это в шапке. Раскрывающийся список должен появиться на каждой странице после входа в систему. Я попытался добавить запрос, чтобы включить эти организации в контроллер приложений, но идентификатор пользователя еще не был доступен для использования до фильтрации. Где или как мне это сделать? Это должно быть в сеансе или есть лучшая конструкция для использования? Элемент?

1 Ответ

0 голосов
/ 01 июля 2011

В моем приложении нет проблем с использованием user_id из beforeRender (если вы используете Auth-Component).

Вы можете использовать его с $this->Auth->user('id').

Я бы сделал это следующим образом: проверьте AppController, если пользователь вошел в систему. Если он есть, извлеките нужную информацию из базы данных (или везде, откуда вы получаете информацию) и сохраните ее в переменной с именем * 1006. * например.
Если пользователь не вошел в систему, $dropdown будет false.
Теперь вы сделаете эту переменную доступной для представления с помощью $this->set(compact('dropdown'))

Теперь в вашем макете (это важно для вас на каждой странице) вы можете легко проверить, является ли $dropdown ложным или нет. Если нет, вы можете работать с вашей переменной и показывать пользователю желаемый выпадающий список.

...