web-dev-qa-db-fra.com

comment passer le paramètre sur la redirection dans yii

J'utilise le framework Yii pour mon projet; 

Je suis en train de rediriger une page après l’insertion dans la base de données vers un autre contrôleur en utilisant 

$ this-> redirect ($ this-> createUrl ('controller/action'));

Pendant la redirection, est-il possible de passer n'importe quel paramètre comme dans le rendu, 

$ this-> render ('selectRefiner', array ('param' => $ data)

29
Abhi

Essayer:

$this->redirect(array('controller/action', 'param1'=>'value1', 'param2'=>'value2',...))

api yii 1 , api yii 2

56
driver_by

Vous ne pouvez transmettre que les paramètres GET dans Yii 2 redirect(). Cependant, j'ai eu une situation similaire et je l'ai résolue en utilisant le stockage de session.

Naturellement, vous pouvez accéder à la session en cours via Yii::$app->session. Voici un exemple d'utilisation dans deux actions de contrôleur distinctes:

public function actionOne() {
    // Check if the Session is Open, and Open it if it isn't Open already
    if (!Yii::$app->session->getIsActive()) {
        Yii::$app->session->open();
    }
    Yii::$app->session['someParameter'] = 'Bool/String/Array...';
    Yii::$app->session->close();
    $this->redirect(['site/two']);
}

public function actionTwo() {
    if (isset(Yii::$app->session['someParameter']) {
       $param = Yii::$app->session['someParameter'];
    } else {
       $param = null;
    }
    $this->render('two', [
        'param' => $param
    ]);
}

Alors maintenant, vous devriez pouvoir accéder à $param dans la vue two.

Pour plus d'informations, reportez-vous à la documentation officielle de la classe.

2
bds

essaye ça:

Yii::$app->response->redirect(['site/dashboard','id' => 1, 'var1' => 'test']);
0
Rahul Pawar

Pour rediriger dans la même action avec tous les paramètres qui ont déjà cela fonctionne pour moi.

$this->redirect($_PHP['SELF']);
0
rajaera