OroPlatform:如何覆盖 datetimepicker js 小部件

Posted

技术标签:

【中文标题】OroPlatform:如何覆盖 datetimepicker js 小部件【英文标题】:OroPlatform: how to override datetimepicker js widget 【发布时间】:2021-09-28 15:09:33 【问题描述】:

上下文

我的 OroPlatform 项目中的实体有一个日期时间属性。正确显示在表单中:

问题

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

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

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

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

【问题讨论】:

【参考方案1】:

您可以使用 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:如何覆盖 datetimepicker js 小部件的主要内容,如果未能解决你的问题,请参考以下文章

OroPlatform:覆盖 Oro 包模板

OroPlatform:覆盖核心实体表单构建器

OroPlatform:如何实现 MultiFileType

使用 OROPlatform 时如何测试自己的代码?

OroPlatform:网格行上的自定义操作

OroPlatform:在核心实体上添加自定义字段