alert()php,Alert组件(消息提示)

本文介绍了一个在Yii2框架下自定义的Alert组件,用于展示五种类型的提示信息,包括error、danger、success、info和warning。通过在控制器中设置session闪存消息,并在视图页面中调用组件,可以方便地实现不同样式的提示框。Alert组件的代码详细展示了如何将消息类型映射到相应的CSS样式,并确保每个提示框具有唯一ID。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该组件提供五种类型提示,总的样式有四种,提示类型有:error,danger,success,info,warning;样式有:alert-danger,lert-success,alert-info,alert-warning ;

使用方法:在控制器中加入:\Yii::$app->getSession()->setFlash('success', "头像设置成功!");

视图页面中引用:use app\components\widgets\Alert;

= Alert::widget() ?>

效果如图:

ab477b6399851c348f86cdeb34f30923.png

其实在控制器中没多大作用,就是在类中添加,可以很好做到提示作用;

具体 Alert.php 代码 如下:<?php

namespace app\components\widgets;

class Alert extends \yii\bootstrap\Widget

{

public $alertTypes = [

'error'   => 'alert-danger',

'danger'  => 'alert-danger',

'success' => 'alert-success',

'info'    => 'alert-info',

'warning' => 'alert-warning'

];

public $closeButton = [];

public function init()

{

parent::init();

$session = \Yii::$app->getSession();

$flashes = $session->getAllFlashes();

$appendCss = isset($this->options['class']) ? ' ' . $this->options['class'] : '';

foreach ($flashes as $type => $data) {

if (isset($this->alertTypes[$type])) {

$data = (array) $data;

foreach ($data as $message) {

/* initialize css class for each alert box */

$this->options['class'] = $this->alertTypes[$type] . $appendCss;

/* assign unique id to each alert box */

$this->options['id'] = $this->getId() . '-' . $type;

echo \yii\bootstrap\Alert::widget([

'body' => $message,

'closeButton' => $this->closeButton,

'options' => $this->options,

]);

}

$session->removeFlash($type);

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值