2

私はレンディパティアルとして使用されるビュー (グリッド) を持っています。この renderpartial グリッドは 2 つのアクションで使用されます。

<div id="activities"><?php echo $this->renderPartial('grid', array('model'=>$model)); ?></div>

どのアクションが現在要求されているかを確認する方法を知る必要がありますか? yii から生成されたいくつかのスクリプトを停止し、アクションが 'default/index/' の場合にいくつかのスクリプトを追加する必要があります (呼び出しが default/index/ から来ていることを意味します)。これは、この方法で呼び出すこともできます ... search/default/ index/area/act?query=

アクション 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;

しかし、それは唯一の出力 - /ijob-css/index.php

編集3

これはそれを行いますが、それを取得するためのより良い方法があることを知る必要がありますか? $_SERVER['HTTP_REFERER']; また、これは次のような URL 全体を返しますhttp://mylocalurl.com/ijob-css/index.php/search/default/index/area/act?query=

しかし、私は "search/default/index/area/act?query=" だけを必要としました

4

2 に答える 2

3

アクション ID を取得するには:

Yii::app()->controller->action->id

コントローラーの場合と同様:

Yii::app()->controller->id

そしてモジュールの使用のために:

Yii::app()->controller->module->id

以下も使用できます。

Yii::app()->request->pathInfo

Yii で前処理されたパス情報について

于 2013-10-03T06:55:01.010 に答える
2
$route = Yii::app()->getUrlManager()->parseUrl(Yii::app()->getRequest());
echo $route;

ただし、モジュール、コントローラー、アクションは削除できます。グリッドにパラメーターを追加することをお勧めします

$this->renderPartial('grid', compact(
    'model',
    'flag'
));
//grid
switch($flag) {
    ...
}
于 2013-10-03T08:40:39.537 に答える