2017-09-08 12 views
0

Salut j'ai un message flash pour afficher le message de succès et je veux le cacher après 3 secondes. J'utilise le code js mais en ligne 3 quand j'utilise view :: POS_READY j'obtiens l'erreur de ne pas trouver cette classe donc je commente cette ligne et après que le code js ne fonctionne pas et ne fane pas mon message. comment peut résoudre ce problème?message flash en travail yii2not quand utiliser avec le code js

ceci est mon code flash Afficher en vue:

<?php if(Yii::$app->session->hasFlash('flashMessage')):?> 
    <div class="flash-success"> 
      <?php echo Yii::$app->session->getFlash('flashMessage'); ?> 
      <?php 
      $this->registerJs(
      "$('.flash-success').animate({opacity: 1.0}, 3000).fadeOut('slow');", 
      //view::POS_READY, 
      'myHideEffect' 
); 
      ?> 

flash set dans le contrôleur:

if ($model->load(Yii::$app->request->post()) && $model->save()) { 
     Yii::$app->session->setFlash('flashMessage', 'success'); 
return $this->redirect('index.php'); 
    } 

Répondre

1

Essayez ceci ... ou vous pouvez "utiliser \ yu \ web \ View;" dans le dossier haut de la vue

<?php if(Yii::$app->session->hasFlash('flashMessage')):?> 
    <div class="flash-success"> 
     <?php echo Yii::$app->session->getFlash('flashMessage'); ?> 
     <?php 
      $this->registerJs(
      "$('.flash-success').animate({opacity: 1.0}, 3000).fadeOut('slow');", 
      \yii\web\View::POS_READY, 
      'myHideEffect' 
     ); 
     ?> 
0

La réponse acceptée fonctionne probablement très bien, mais je voudrais proposer l'aide de la Growl widget. La décoloration n'est qu'une partie des caractéristiques.