填充下拉式网站范围的最佳方式是



我使用的是CakePHP 1.3和一个布局,其中包括用户有权管理的组织的下拉列表,所以我试图用包含登录用户ID的组织来填充该下拉列表,但我希望在用户看到任何东西之前填充它,以便他们可以在标题中使用它。登录后,下拉列表需要出现在每个页面上。我尝试添加查询以在appcontroller中提取这些组织,但userid在筛选之前还不可用。我应该在哪里或如何做?它应该在会话中,还是有更好的构造可以使用?要素

在我的应用程序中,使用beforeRender中的user_id没有问题(如果您使用的是Auth组件(。

您可以将其与$this->Auth->user('id')一起使用。

我会这样做:如果用户登录了,请检查AppController。如果他登录了,则从数据库(或从中获取信息的地方(提取您想要的信息,并将其存储在一个名为$dropdown的变量中
如果用户未登录,则$dropdown将为false
现在,您可以使用$this->set(compact('dropdown')) 使该变量可用于视图

现在,在您的布局中(这对您在每一页上都有它很重要(,您可以很容易地检查$dropdown是否为false。如果没有,您可以使用您的变量,并向用户显示您想要的下拉列表。

最新更新