OroPlatform:如何覆盖 datetimepicker js 小部件

OroPlatform: how to override datetimepicker js widget

上下文

我的 OroPlatform 项目中的实体有一个日期时间属性。它以以下形式正确显示:

问题

假设当前时间是晚上 7 点。 如果我单击“今天”按钮,时间字段将填充 7pm20 值而不是 7pm。

我发现它来自 public/bundles/oroui/js/app/views/datepicker/datetimepicker-view-mixin.js 文件中的方法 getDefaultTime

因此,如果我更改原始文件中的方法和 运行 命令 symfony console oro:assets:build 它会按预期工作。

但我在 Oro 文档中找不到“覆盖”js 组件方法的正确方法。

您可以使用 jsmodules.yml 配置文件的 map 部分覆盖 JavaScript 模块。例如:

map:
    '*':
        'jquery': 'oroui/js/jquery-extend'
    'oroui/js/jquery-extend':
        'jquery': 'jquery'

更多细节见官方文档:https://doc.oroinc.com/backend/configuration/yaml/jsmodules/#map