我正在使用CakePHP 1.3和一个布局,其中包含用户有权管理的组织的下拉列表,因此我尝试使用包含登录的用户ID的组织填充该下拉列表,但我想填充它在用户看到任何内容之前,他们可以在标题中使用它。登录后,下拉列表需要出现在每个页面上。我尝试添加查询以在appcontroller中提取这些组织,但在过滤器之前尚未使用userid。我应该在哪里或如何做?它应该在会话中还是有更好的构造可供使用?元件?
答案 0 :(得分:0)
在我的应用程序中,在beforeRender中使用user_id是没有问题的(如果您使用的是Auth-Component)。
您可以将其与$this->Auth->user('id')
一起使用。
我会这样做:在AppController中检查用户是否已登录。如果是,请从数据库中提取您想要的信息(或者从中获取信息)并将其存储在名为{{的变量中。例如,1。}
如果用户未登录,则$dropdown
将为$dropdown
现在,您可以使用false
现在在您的布局中(这对于您在每个页面上都很重要),您可以轻松检查$this->set(compact('dropdown'))
是否为假。如果没有,您可以使用您的变量并向用户显示您想要的下拉列表。