CakePHP:视图和控制器的灵活重定向
我有不同观点的观点。客户编辑视图可以从客户列表、客户搜索、订单内等调用。其中一些视图是简单视图,其他视图包含用于添加、编辑或删除数据的表单。用户在该表单上完成了他必须完成的操作后,应该将其重定向到调用表单或其他表单 使用$this->referer不起作用,因为某些导航必须如下所示: 列出订单->编辑订单->删除订单->列出订单 我可以为每个调用定义重定向,因此我尝试使用查询字符串并将?redirectTarget=添加到每个链接或重定向。为此,我制作了一个控制器函数 在AppController.php中CakePHP:视图和控制器的灵活重定向,cakephp,cakephp-2.0,Cakephp,Cakephp 2.0,我有不同观点的观点。客户编辑视图可以从客户列表、客户搜索、订单内等调用。其中一些视图是简单视图,其他视图包含用于添加、编辑或删除数据的表单。用户在该表单上完成了他必须完成的操作后,应该将其重定向到调用表单或其他表单 使用$this->referer不起作用,因为某些导航必须如下所示: 列出订单->编辑订单->删除订单->列出订单 我可以为每个调用定义重定向,因此我尝试使用查询字符串并将?redirectTarget=添加到每个链接或重定向。为此,我制作了一个控制器函数 在AppControlle
public function getRedirectTarget() {
if ($this->request->query('redirectTarget')) {
return $this->request->query('redirectTarget');
} else {
return array(
'controller' => 'pages',
'action' => 'home'
);
}
}
这适用于窗体,因为我可以在控制器中使用getRedirectTarget,但我无法从视图中访问该函数以构建链接。至少我不应该这样做,在示例中,我必须从顶部将信息从订单列表传递到编辑视图,以构建链接并传递到表单操作的底层控制器
现在我脑子里有不同的想法,但没有一个我真的很开心。我不是舒尔该走哪条路
在CakePhp中有什么我还没有找到的吗?
使用$this->requestAction?
将所有内容更改为窗体和按钮,并在控制器中执行所有重定向?
有没有办法为每个视图创建一个变量?
在我看来,这似乎是一个comon要求,而且我对CakePHP还很陌生,所以我想征求您的意见。使用应该是最好的方法
在视图中,可以有如下内容
$redirect = $this->requestAction('/mycontroller/requestAction');
$url = $this->Html->link('Continue', $redirect));
谢谢,这对我有用。由于这是一个非常小的应用程序,因此无法对性能进行任何说明。