假设路由/ URL结构,如
http://www.example.com/vehicles/manage
此页面列出了数据库中的车辆。如果我想添加一个用于过滤结果的表单,例如颜色,我最终会得到一个过滤形式GET操作添加查询字符串的URL,例如。
http://www.example.com/vehicles/manage?colour=blue
当我真的想坚持网址结构时
http://www.example.com/vehicles/manage/colour/blue
我不希望在我的应用程序中的任何地方都有查询字符串,但是在管理界面中有无数个例子,其中必须过滤列表结果以使其可管理。任何替代解决方案都非常受欢迎。
由于
答案 0 :(得分:0)
您可以使用重定向器操作助手来实现此目的。
用它实例化:
$ redirector = new Zend_Controller_Action_Helper_Redirector();
然后只需将你的模块/ controller / action / params传递给它:
返回$ redirector-> direct('manage','vehicles','default',$ params));
$params
将包含您的过滤器,例如:
array('color'=>'blue','wheel_trims'=>'合金');
希望有所帮助:>
编辑:哦,要在manageAction()中获取您的值,请执行以下操作:
$ request = $ this-> getRequest();
$ params = $ request-> getParams();