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
上下文
我的 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