Hybris 中的扩展和附加组件有啥区别

Posted

技术标签:

【中文标题】Hybris 中的扩展和附加组件有啥区别【英文标题】:What is the difference in Extension & Add Ons in HybrisHybris 中的扩展和附加组件有什么区别 【发布时间】:2016-01-23 21:55:57 【问题描述】:

我想 Default Extension 可以封装业务逻辑、类型定义、配置和附加组件。

我知道Add On 也是扩展普通扩展的Extensions 类型。

我进一步知道 Add Ons 可以在不涉及代码库的情况下扩展功能。

高度赞赏 Hybris 专家的任何意见。

【问题讨论】:

【参考方案1】:

扩展是 Hybris Commerce Suite 的一个封装部分 可以包含业务逻辑、类型定义、Web 应用程序、 或 Hybris 管理控制台 (hMC) 配置。

Hybris 附带许多扩展模板,例如 yempty、yaddon、ycockpit、ybackoffice 和 ycommercewebservices。

Addon 也是一种扩展,通常用于扩展 Accelerator StoreFront 功能。例如,假设您想创建一个新的 CMS 组件并希望在您的店面中使用它,但您不想接触代码库,那么最好的方法是创建一个插件。

普通扩展不需要安装,但插件需要。这意味着如果您要创建插件,则需要将其安装在现有的店面模板中。

ant addoninstall -Daddonnames="customaddon"  -DaddonStorefront.yacceleratorstorefront="customstorefront"

这将在 storefront extensioninfo.xml 文件中插入 customstorefront 和 customaddon 之间的依赖关系,并提供在 customaddon 的 project.properties 中定义的附加 web-spring.xml 配置。构建回调现在会将 Web 应用程序内容复制到店面。

ant all 之后,您应该会发现视图JSP 复制到customstorefront /web/webroot/WEB-INF/views/addons/customaddon/desktop/cms

这样您就可以自定义加速器店面,而无需接触实际店面。

【讨论】:

感谢您提供如此清晰的插图。我看过你的博客……真的很棒。顺便说一句,我的另一个问题......如何为集群模式配置 hybris......我之前也发布过,但没有得到回应。答案太长,无法在有限的篇幅中解释【参考方案2】:

扩展是自包含的独立包,附加组件不是。一般而言,扩展是较大的单元。您可以使用附加组件来增强扩展中的功能,但反之亦然。

Hybris 日记有一个详细描述的词汇表:

http://hybrisdiary.com/?s=add+on

http://hybrisdiary.com/tag/extension/

【讨论】:

感谢我的第一个回答并分享这个宝贵的 hybris 资源。顺便说一句,你知道如何为集群模式配置 hybris hybrisdiary往下看 确实 - 这张票上添加的链接都已关闭。如果有人知道这些页面迁移到哪里(希望它们被移动到其他地方),那将非常有帮助【参考方案3】:

我会告诉你我对机器人扩展和插件的理解。 我们在 hybris 中获得默认扩展(通过 ant modulegen)。如果您仔细观察,每个扩展都有一个目的。无论是店面(视图和控制器),外观(业务逻辑),commercewebservice(休息服务)等...

现在想象一下有人通过已经落户的 hybris 商店接近您。但是您无法访问他们的任何扩展。然后他们想要的只是一些插件代码,即不完整的代码库。

但是现在你不能创建另一个门面扩展,店面扩展,......

所以插件将是最好的选择,因为它很方便并且可以扮演任何需要的角色。 (例如,它有 *-items.xml 来添加或修改 Hybris 类型,您可以为店面编写控制器,您可以编写自己的服务或外观,或 cms 组件)。 希望对您有所帮助。

【讨论】:

【参考方案4】:

插件 基本上,如果您想创建或扩展某些店面功能,您应该创建一个插件。 - 创建店面功能。例如,您想创建一个新的 CMS 组件,它是一个 Vimeo 视频。 - 扩展当前店面功能。例如,如果您想从标准加速器扩展控制器或其他东西。

扩展 如果您想创建与店面无关的新东西,这是您的选择。有时您的功能仅与后台或服务相关,因此无需创建插件。

【讨论】:

以上是关于Hybris 中的扩展和附加组件有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

在 Hybris 中,modulegen 和 extgen 有啥区别? [关闭]

覆盖和附加到镶木地板有啥区别

UML组件图中子系统和附加组合组件的区别

是否有附加组件或扩展程序来模拟触摸事件?

三元存储和图形数据库有啥区别?

有啥方法可以在烧瓶邮件中命名附加的 pdf 文件?