Symfony1 symfony-可作为链接访问的管理模块筛选器

Symfony1 symfony-可作为链接访问的管理模块筛选器,symfony1,symfony-1.4,Symfony1,Symfony 1.4,我正在开发一个管理仪表板,它将主要基于使用sfdoctrineguardplugin登录的当前用户 不过,我想做的是在仪表板中提供链接,这些链接基本上是指向其他模块的过滤器 问题是,我不知道该怎么做 例如,我希望有以下链接: 列出新用户-此链接需要列出过去30天内添加的所有用户 列出供应商-这需要列出组id为2的组中的所有用户 列出制造商-这需要列出组id为3的组中的所有用户 我该怎么做呢 谢谢这里有一个问题:Admin generator会将所有过滤器数据记为用户属性(读作“在会话中存储此

我正在开发一个管理仪表板,它将主要基于使用sfdoctrineguardplugin登录的当前用户

不过,我想做的是在仪表板中提供链接,这些链接基本上是指向其他模块的过滤器

问题是,我不知道该怎么做

例如,我希望有以下链接:

  • 列出新用户-此链接需要列出过去30天内添加的所有用户
  • 列出供应商-这需要列出组id为2的组中的所有用户
  • 列出制造商-这需要列出组id为3的组中的所有用户
我该怎么做呢


谢谢这里有一个问题:Admin generator会将所有过滤器数据记为用户属性(读作“在会话中存储此信息”)

所以,如果您不关心过滤器的所有记忆数据,您可以创建一个接收GET参数的模块,将此参数设置为用户属性(sfUser->setAttribute(…),覆盖所需模块的过滤器数据,并重定向到模块


您可以使用GET参数将它们添加到覆盖筛选器参数的模块URL(example.com/users?filter[group_id]=123)中。在这种情况下,您应该在每个需要的模块中处理这些信息。

我真的认为您不应该在您的案例中使用过滤器。过滤器是数据列表的临时条件。 这里有一个更优雅的解决方案。我们将重用sfGuardUser索引操作的功能,并将其表_方法设置为“动态”(基于url)

就这样。现在,您可以向仪表板添加如下链接:

<?php echo link_to('Clients', 'sf_guard_user_list', array('list'=>'clients')) ?>


另外,这种方法现在允许您在这些列表的顶部使用过滤器(出于其真实原因)。但是,您还必须调整相应的链接。

这些模块是全部不同还是一个,管理生成器?这些链接位于主管理页面Dashobard上。链接需要在sfDoctrineGuard,sfguardUsers中过滤用户,您能给我一个例子吗:users?filter[group\u id]=1不会返回任何异常!我今天会看一看,看看进展如何。这正是我想要的,简单的链接,可以根据用户的群组显示用户列表。OK,我尝试过与用户一起使用,效果很好。但是对其他模块使用相同的代码是行不通的。例如,我在一个
orders
表上尝试了它,但它总是返回5条记录,而不是基于我的模型方法的特定记录。你知道为什么会这样吗?似乎
$this->configuration->setTableMethod($table_method)
返回null,但我不确定为什么…不能说,检查是否扩展了正确的类。setTableMethod不应该返回任何内容。我已经扩展了管理模块在构建管理模块时创建的配置文件。它似乎调用了代码,但它返回列表中的所有结果,而不是它应该返回的2条记录。我检查了dev工具栏并运行了我的方法创建的SQL,它返回2。只是不在名单上
<?php echo link_to('Clients', 'sf_guard_user_list', array('list'=>'clients')) ?>