【发布时间】:2012-07-20 21:25:43
【问题描述】:
我想用四个标签('a'、'b'、'c'、'd')过滤我网页上的数据。假设用户在这个页面上:
/data/1/slug-for-one
并且用户想要现在为“c”过滤的数据,他点击“c”,他的会话对象中的一个 var 被更改,并且在“重新加载”同一页面时正确过滤了数据。
如何构建过滤器按钮的链接?创建一个特殊的控制器,它解析过滤器并重定向?控制器在哪里获取要重定向的 url?我不想通过 GET 传递路由/url,因为用户可能会做坏事。
编辑:
正如 cmets 中所指出的,在会话中使用过滤器是个坏主意。那么通过过滤器的最佳方法是什么?是否可以设置一些可以在实际控制器之前解析的路由前缀?
示例:
/filter/c/data/1/slug-for-one
【问题讨论】:
-
您可以使用 POST 请求并为处理此问题的特殊控制器添加用于发布请求的路由
-
此数据必须驻留在会话数据中是否有原因?它只是看起来像错误的地方。听起来它应该是一个参数(GET/POST)。另外,如果用户打开了多个带有不同标签的页面/标签怎么办?
标签: symfony