我有一个用作交汇的视图(网格(。 此渲染部分网格用于两个操作。
<div id="activities"><?php echo $this->renderPartial('grid', array('model'=>$model)); ?></div>
我需要知道如何检查现在正在请求哪个操作? 我需要停止一些从 Yii 生成的脚本,并在操作为"默认/索引/"时添加一些脚本(我的意思是调用来自默认/索引/(这也可以通过这种方式调用......搜索/默认/索引/区域/操作?查询=
操作 A - http://mylocalurl.com/ijob-css/index.php/search/default/index/area/act?query=
行动 B - http://mylocalurl.com/ijob-css/index.php/activities/default/index/
仅对于操作 B,我需要添加一些脚本,并想知道如何在 Yii 中完成此操作?
在 Yii 中有这样的东西吗? if(yii->app->getRquest == 'action B')
编辑 1
我试过这种方式,
echo Yii::app()->controller->action->id . " - " . Yii::app()->controller->id . " - " . Yii::app()->controller->module->id;
它从这两个操作中返回//sessionIndex - default - activities
。
但我想做的是,用户从哪里来到这条路?他的最后一个URL。
所以我可以轻松跟踪天气其操作 1 或操作 2
编辑 2
也尝试过这种方式,回声Yii::app()->user->returnUrl;
但它打印的是onlty -/ijob-css/index.php
编辑 3
这样做,但需要知道是否有更好的方法来获得它? $_SERVER['HTTP_REFERER']; 这也像这样重新调整整个网址 http://mylocalurl.com/ijob-css/index.php/search/default/index/area/act?query=
但我只需要"搜索/默认/索引/区域/行动?查询="实际上模型 ID 甚至单独很好,即"搜索">
要获取操作 ID,请使用:
Yii::app()->controller->action->id
控制器类似:
Yii::app()->controller->id
对于模块使用:
Yii::app()->controller->module->id
您还可以使用:
Yii::app()->request->pathInfo
对于 Yii 预处理的路径信息
$route = Yii::app()->getUrlManager()->parseUrl(Yii::app()->getRequest());
echo $route;
但是模块,控制器,动作可以删除,我建议给网格添加参数
$this->renderPartial('grid', compact(
'model',
'flag'
));
//grid
switch($flag) {
...
}