Como mostrar mensajes emergentes

Introducción

En las aplicaciones web donde se requiere tener una constante comunicación con el usuarios es necesario decirles que sucede después de realizar algún paso dentro del flujo de las aplicaciones, por tal motivo es muy útil utilizar mensajes emergentes.

Implementación 

Para implementar esta funcionalidad es necesario agregar el código en el layout de las vistas del proyecto, que normalmente se encuentra dentro de la carpeta "/layouts/main.php" esto puede variar dependiendo del tema que tengas instalado si es que tienes un tema en especial.


  <?php
if (Yii::$app->session->hasFlash('success')) {
    ?>
    <div class="alert alert-success alert-dismissible mb-2" role="alert">
        <button type="button" class="close" data-dismiss="alert" aria-label="Close">
            <span aria-hidden="true">×</span>
        </button>
        <strong> <?= Yii::$app->session->getFlash('success') ?></strong>
    </div>
    <?php
}

if (Yii::$app->session->hasFlash('error')) {
    ?>
    <div class="alert alert-danger alert-dismissible mb-2" role="alert">
        <button type="button" class="close" data-dismiss="alert" aria-label="Close">
            <span aria-hidden="true">×</span>
        </button>
        <strong> <?= Yii::$app->session->getFlash('error') ?></strong>
    </div>
    <?php
}

if (Yii::$app->session->hasFlash('info')) {
    ?>
    <div class="alert alert-info alert-dismissible mb-2" role="alert">
        <button type="button" class="close" data-dismiss="alert" aria-label="Close">
            <span aria-hidden="true">×</span>
        </button>
        <strong> <?= Yii::$app->session->getFlash('info') ?></strong>
    </div>
    <?php
}

if (Yii::$app->session->hasFlash('warning')) {
    ?>
    <div class="alert alert-warning alert-dismissible mb-2" role="alert">
        <button type="button" class="close" data-dismiss="alert" aria-label="Close">
            <span aria-hidden="true">×</span>
        </button>
        <strong> <?= Yii::$app->session->getFlash('warning') ?></strong>
    </div>
    <?php
}
?>



Uso


En Yii2 la forma más simple de hacerlo es con el siguiente línea.


Yii::$app->session->setFlash('success', "Proceso exitoso");


Lo que muestra esta línea es un mensaje emergente, el cual se coloca usualmente dentro del controller.

La vista puede variar dependiendo de la versión de bootstrap que tengas instalado.




Pueden utilizarse los mismos tipos de mensajes que bootstrap.

'success'
'info'
'warning'
'danger'


Fuentes: 

https://www.yiiframework.com/wiki/21/how-to-work-with-flash-messages 
https://getbootstrap.com/docs/4.4/components/alerts/

Comentarios

Aprende Yii2


Lo más Visto

Guía rápida para uso de widget kartik para select para formulario

Cómo incluir una vista dentro de un modal

Tutorial de implementación de calendario de rango de fechas con Karkit en gridView

Google Plus desaparecerá el 4 de Abril de 2019

Crear fomulario HTML con checkbox sin Active Record

hostinger

ventana bienvenida