【发布时间】:2019-11-07 11:35:32
【问题描述】:
所以,我可以在平台下的自定义文件夹下看到很多文件。 除了将其放在自定义文件夹中之外,还有其他方法可以覆盖平台吗?
如果我们必须覆盖某些 OOTB 文件,有两种方法: 1)如果它在某个扩展中,我们可以创建自定义扩展并进行更改。 2)将东西添加到自定义文件夹并进行蚂蚁自定义。
如果 OOTB 文件在平台上怎么办?还有其他方法吗?
我希望自定义平台而不将其添加到自定义文件夹。
【问题讨论】:
标签: hybris
所以,我可以在平台下的自定义文件夹下看到很多文件。 除了将其放在自定义文件夹中之外,还有其他方法可以覆盖平台吗?
如果我们必须覆盖某些 OOTB 文件,有两种方法: 1)如果它在某个扩展中,我们可以创建自定义扩展并进行更改。 2)将东西添加到自定义文件夹并进行蚂蚁自定义。
如果 OOTB 文件在平台上怎么办?还有其他方法吗?
我希望自定义平台而不将其添加到自定义文件夹。
【问题讨论】:
标签: hybris
你要覆盖的函数/bean是通过Spring注入的吗?
如果没有,你需要重写一些 jar、class 或 xml。您可以选择ant customize 或buildcallbacks.xml
如果是,这与覆盖父扩展中的任何其他 bean 没有什么不同。唯一的事情是您不需要创建扩展依赖项,因为平台是全球可用的。
例如: 如果您希望覆盖 DefaultCatalogDao 中的某些函数以提供您自己的实现。你可以这样做......
<alias alias="catalogDao" name="customCatalogDao"/>
<bean id="customCatalogDao" class="......CustomCatalogDao" parent="defaultCatalogDao"/>
对于 Commerce Cloud
您也可以使用 Commerce Cloud V2 中的 customize 文件夹更改平台文件。您需要在自定义存储库中创建一个名为 _CUSTOMIZE_ 的文件夹,然后像在非云版本中一样,添加您的文件(具有与平台中完全相同的文件夹结构)。
创建以上文件夹后,CCV2 构建策略会自动选择并部署它,无需任何额外配置。 希望对您有所帮助!
【讨论】:
ant customize 功能。查看更新的答案。
使用 buildcallbacks 你可以替换文件,甚至是平台 jar 中的文件。
【讨论】:
您可以简单地复制粘贴您的文件或编写您自己的 shell 脚本来执行它并将文件复制到平台,但这与 ant 定制有何不同。为什么要放弃标准的 hybris 实践?这会给你带来额外的好处吗?我确信这只会在升级等过程中导致问题。它不是 spring bean 注入,你可以告诉你的平台使用你的实现而不是其他的。浪费时间去寻找不符合产品最佳实践的东西是没有意义的。
【讨论】: