跳转到主要内容

为您的CMS系统提供基本状态消息

项目描述

Beta License: LGPL-3 OCA/website-cms Translate me on Weblate Try me on Runboat

“状态消息”是您希望向用户显示的重要消息。

例如:用户提交表单或执行特定操作时,您想报告该操作的状态,如“您的个人资料已更新”或“您的升级已成功。”。

此模块允许您轻松地向用户显示此类消息。

消息使用Twitter bootstrap alerts显示。

您可以添加多个消息:它们将依次显示。

目录

使用方法

Python代码

设置消息

msg = _('My important message.')
env["ir.http"].add_status_message(msg)

默认消息类型为info。标题(消息开头的标签)与消息类型匹配

  • ‘info’:‘信息’

  • ‘success’:‘成功’

  • ‘danger’:‘错误’

  • ‘warning’:‘警告’

您还可以更改消息参数

msg = _('Watch out!')
env["ir.http"].add_status_message(msg, kind='warning', title='Oh no')

消息将显示如下

https://raw.githubusercontent.com/OCA/website-cms/16.0/cms_status_message/images/preview.png

自动消失

默认情况下,消息将在8秒后自动消失。您可以通过设置ir.config_param来关闭此功能

cms_status_message.autodismiss = 0

您可以通过设置键来自定义超时时间

cms_status_message.autodismiss_timeout = 3000  # milliseconds

您还可以在创建消息时按需自定义此设置

msg = _('I will disappear more slowly')
options = {'autodismissTimeout': 10000}
env["ir.http"].add_status_message(msg, dismiss_options=options)

JavaScript代码

依赖项

FIXME v16

var msg_tool = require('cms_status_message.tool');
var core = require('web.core');
var _t = core._t;

动态注入自定义消息

msg = {
    'msg': _t('Item unpublished.'),
    'title': _t('Warning'),
    'type': 'warning'
}
msg_tool.render_messages(msg).then(function(html) {
    // wipe existing
    $('.status_message').remove();
    // inject new
    $(html).hide().prependTo('#wrap').fadeIn('slow');
});

将状态消息添加到会话中,如果您只想在重定向后显示消息,则非常有用

var msg =  _t('Contratulations! You made it!.');
var options = {'title': _('My title'), 'dismissible': false};
msg_tool.add_message(msg, options);

自定义外观

默认情况下,警告框被添加到 <main /> 内容的顶部。如果您想自定义此行为,只需覆盖或禁用 cms_status_message.add_status_message 模板。

测试您的主题外观和感觉

前往 /cms/status-message/display-test 查看应用主题后消息的显示效果。

变更日志

16.0.1.0.0 (2023-05-13)

功能

  • 迁移到 v16 (#127)

  • 去除 website 依赖

13.0.1.0.1 (2021-08-23)

功能

  • 迁移到 v13 (#111)

11.0.1.3.0 (2018-08-07)

改进

  • 去除示例包

    示例包仅用于展示消息的外观。但在实际生活中,您总是想验证应用主题样式后的外观。

    现在我们有一个新的路由 /cms/status-message/display-test 来检查它们。 cms_status_message_example 模块已被移除。

11.0.1.2.0 (2018-08-07)

改进

  • 添加自动消失选项

    默认情况下,消息将在8秒后自动消失。您可以通过设置ir.config_param来关闭此功能

    cms_status_message.autodismiss = 0

    您可以通过设置键来自定义超时时间

    cms_status_message.autodismiss_timeout = 3000  # milliseconds

    查看 README 获取更多信息。

11.0.1.1.0 (2018-04-22)

改进

  • 改进 JS API

    1. 按需加载 qweb 模板

    2. 仅在尚未加载时加载 qweb 模板

    3. 使用承诺进行渲染

    我们通过 JS 加载 qweb 模板。在此更改之前,每次页面加载时,每个模板都会有一个请求,即使我们没有使用任何状态消息功能。

    现在我们仅在需要时加载模板,并且仅在尚未加载时加载它们,略微减少了页面加载时间 :)

    此外,渲染现在返回一个承诺对象,因此您可以串联调用并在渲染真正完成时进行操作。

11.0.1.0.0 (2018-01-18)

升级到 v11

错误追踪器

错误在 GitHub Issues 上跟踪。如果遇到问题,请检查是否已报告您的问题。如果您首先发现了它,请通过提供详细且受欢迎的 反馈 来帮助我们解决问题。

请不要直接联系贡献者以获取支持或技术问题的帮助。

致谢

作者

  • Camptocamp

贡献者

维护者

此模块由 OCA 维护。

Odoo Community Association

OCA,即 Odoo 社区协会,是一个非营利组织,其使命是支持 Odoo 功能的协作开发并推广其广泛使用。

当前 维护者

simahawk

此模块是 GitHub 上 OCA/website-cms 项目的组成部分。

欢迎您贡献。要了解如何贡献,请访问 https://odoo-community.org/page/Contribute

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码发行版

此发布版本没有可用的源代码发行版文件。请参阅 生成发行版存档 的教程。

构建发行版

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面