跳转到主要内容

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

项目描述

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

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

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

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

消息使用Twitter bootstrap警告显示。

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

目录

用法

Python代码

设置消息

msg = _('My important message.')
if request.website:
    request.website.add_status_message(msg)

默认情况下,消息类型是info。标题(消息开头的标签)与消息类型匹配

  • ‘info’:‘信息’

  • ‘success’:‘成功’

  • ‘danger’:‘错误’

  • ‘warning’:‘警告’

您可以更改消息参数

msg = _('Watch out!')
if request.website:
    request.website.add_status_message(msg, type_='warning', title='Oh no')

消息将显示如下

https://raw.githubusercontent.com/OCA/website-cms/13.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}
if request.website:
    request.website.add_status_message(msg, dismiss_options=options)

JavaScript代码

依赖关系

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);

自定义外观

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

测试您的主题外观和感觉

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

已知问题/路线图

消除对 网站 的依赖,并将功能迁移到独立模型。

变更日志

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 模板。在此更改之前,每次页面加载时,每个模板都会产生1个请求,即使我们不使用任何状态消息功能。

    现在我们只在需要时加载模板,并且只有在尚未加载时才加载它们,从而略微降低了页面加载时间 :)

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

11.0.1.0.0 (2018-01-18)

升级到 v11

错误跟踪器

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

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

鸣谢

作者

  • Camptocamp

贡献者

维护者

此模块由 OCA 维护。

Odoo Community Association

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

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

欢迎您贡献。有关如何贡献的信息,请访问 https://odoo-community.org/page/Contribute

项目详情


下载文件

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

源分发

此发布没有可用的源分发文件。有关生成分发存档的教程,请参阅 生成分发存档

构建分发

odoo13_addon_cms_status_message-13.0.1.0.1-py3-none-any.whl (94.2 kB 查看哈希值)

上传时间 Python 3

支持者