2017-05-20 16 views
0

何とか私のactionResetPassword成功メッセージが表示されません。誰かが私がここで間違っていることを私に説明することができますか?アクション成功テキストがyii2に設定されていません

public function actionChangePassword() 
{ 
    $user = User::loadModel(Yii::$app->user->identity->id); 
    $user->scenario = 'changePassword'; 
    if ($user->load(Yii::$app->request->post())) { 
     if ($user->validatePassword($user['old_password'])) { 
      $user->setPassword($user['new_password']); 
      $this->saveObject($user, Yii::t('app', 'Your password was changed successfully.'), Yii::t('app', 'Something is wrong')); 
      $this->goHome(); 
     } else { 
      Yii::$app->getSession()->setFlash('error', 'You have entered wrong old password'); 
     } 
    } 
    return $this->render('change-password', [ 
     'model' => $user, 
    ]); 
} 

saveObject()関数:

function saveObject($object = NULL, $successMessage = '', $errorMessage = '') 
{ 
    if ($object->save()) { 
     Yii::$app->getSession()->setFlash('success', $successMessage); 
    } else { 
     Yii::$app->getSession()->setFlash('error', $errorMessage); 
    } 
    return 1; 
} 

それは私のホームページにリダイレクトし、何とか私のYii:tメッセージは表示されません。どうして?

+0

あなたの質問を更新し、saveObject関数を追加してください。 – scaisEdge

+0

質問が更新されました。 – MKD

+0

いつもエラーメッセージが表示されていますか? – scaisEdge

答えて

0

チェックあなたのレイアウトの場合(例:ビュー\レイアウト\のmain.php)あなたのビューでウィジェットトライ使用

var_dump(Yii::$app->getSession()->getFlash()); 

を持っていない場合は、

use common\widgets\Alert; 
.... 

<?= Alert::widget() ?> 

を持っている場合

+0

私はそれを持っていません – MKD

+0

あなたはウィジェット(またはsomコード)が変更を表示していないのでメッセージが表示されないことがあります。警告メッセージを表示するために何を使用しますか? – scaisEdge

+0

提案に更新内容に応答します – scaisEdge

関連する問題