0

假设一个路由/URL结构,如

http://www.example.com/vehicles/manage

此页面列出了数据库中的车辆。如果我想添加一个表单来过滤结果,例如颜色,我最终会得到一个 URL,过滤表单 GET 操作会向其中添加查询字符串,例如

http://www.example.com/vehicles/manage?colour=blue

当我真的想坚持 URL 结构时

http://www.example.com/vehicles/manage/colour/blue

我不希望在我的应用程序中的任何地方都有查询字符串,但是在管理界面中有无数示例必须过滤列表结果以使其易于管理。任何替代解决方案都非常受欢迎。

谢谢

4

1 回答 1

0

您可以使用 Redirector 操作助手来实现此目的。

用这个实例化它:

$redirector = new Zend_Controller_Action_Helper_Redirector();

然后只需将您的模块/控制器/动作/参数传递给它,如下所示:

return $redirector->direct('manage', 'vehicles', 'default', $params));

哪里$params将包含您的过滤器,例如:

数组('颜色' => '蓝色','wheel_trims' => '合金');

希望有帮助:>

编辑:哦,要在 manageAction() 中获取您的值,只需执行以下操作:

$request = $this->getRequest();
$params = $request->getParams();

于 2012-08-01T16:42:49.170 回答