通知通常用于所采取的操作成功或导致错误或警告时。它们还可以用来显示信息性消息。
上面的截图显示了类型错误、警告、信息和成功的通知。最后一个通知使用通知标题(“Well done”)。
要触发通知,请创建通知对象的实例并调用通知
方法实际显示通知:
$id = '$PluginName_$NotificationId';//例如' mypluginname_unsuccessfullogin '。$notification = new \Piwik\ notification ('My notification message');\ Piwik \ \经理:通知:通知(id、通知美元);
这个例子用消息触发一个信息通知(默认)我的通知信息
并显示在Matomo的状态栏中(在更新检查器和站点选择器的下方)。
通知ID应该是唯一的ID,最好由插件名和标识这种类型通知的标识符组成。该ID确保如果在同一请求中多次触发同一通知,则不会多次显示该通知。
在消息内容之前将显示一组标题。
$notification->title = '我的通知标题';
属性可以更改通知的上下文(严重性)上下文
属性和赋值通知::CONTEXT_ *
常数。例如:
$notification->context = notification::CONTEXT_SUCCESS;$notification->context = notification::CONTEXT_INFO;$notification->context = notification::CONTEXT_WARNING;$notification->context = notification::CONTEXT_ERROR;
默认情况下,通知只显示在触发它的同一页面视图上。但是,你可以通过设置一个不同的类型来改变这种行为:
$notification->类型=通知::TYPE_TOAST;$notification->类型=通知::TYPE_PERSISTENT;
toast类型的通知就像常规通知一样显示,但它将在几秒钟后消失。
在用户显式关闭通知之前,将显示持久类型的通知。即使用户重新加载页面,也会显示通知。
如果您需要使用HTML作为通知消息的一部分,例如显示链接,那么您需要设置标志美元的生
来真正的
.如果启用此标志,请确保消息不包含任何用户输入,或仅包含安全转义的用户输入安全的原因。
$notification->raw = true;
在API参考中了解关于Notification类的更多信息.
控件可以显示客户端通知NotificationsStore
单例模式:
import {NotificationsStore} from 'CoreHome';const instanceId = NotificationsStore。show({id: ' mypluginname_unsuccfullogin ', type: 'transient', context: 'info', //或'warning'或'error'或'success' title: 'Optional', message,});setTimeout(() => {NotificationsStore.scrollToNotification(instanceId);}, 200);
这些选项与PHP通知相同。
要将通知放置在页面的特定部分,请使用通知
Vue组件在另一个组件中。
要在Vue之外放置通知,可以使用placeat
选择:
import {NotificationsStore} from 'CoreHome';const instanceId = NotificationsStore。show({type: 'transient', context: 'info', //或'warning'或'error'或'success' title: 'Optional', message, placeat: '#mySelector', //这也可以是HTMLElement});
元素placeat
引用将被挂载为Vue应用程序和任何初始内容删除。