问题标签 [sap-commerce-cloud]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hybris - 如何在不触发滚动重启的情况下将 HAC 属性更改发送到 CCV2 门户中特定服务中的所有节点?
如何在不触发滚动重启的情况下将 HAC 属性更改发送到 CCV2 门户中特定服务(例如 API 或后台处理服务)中的所有节点?
我知道可以在 CCV2 门户中的 Environments > Services 下使用 hcs_common 添加/更改 HAC 属性。但是,这会使 HAC 属性永久化并导致节点重新启动(使用滚动重新启动)。要恢复更改,需要再次更新 hcs_common 并触发另一个滚动重启。
我也知道可以公开使用ClusterAwareEvent
. 假设我不想走这条路(即我不想做额外的更改),是否可以使用可以在 HAC 中执行的 Groovy 脚本来做我需要的事情?我可以指定服务(例如 API 或后台处理服务)并将 HAC 属性发送到该服务的所有节点吗?
hybris - Hybris 促销容器
我们正在从 6.5 版本升级到 2011 版本。所以,一些推广场景合作伙伴-产品推广它不能正常工作
如果我从 MAQUILLAJE 类别中添加产品 A 并添加例如 3 个数量。2 应该是正常值,1 是免费的。但是,这种情况不再适用了。我还在 Hybris 2011 Electronics 上对其进行了测试。要使此促销活动有效,我需要添加 2 种来自同一类别的不同产品,其中一种产品的数量为 2。
不再适用的另一种情况是,在相同的两个容器中使用相同产品的合格产品。
我想知道这是否真的是平台中的错误或需要更新文档。
因为,在提到容器的文档中,它解释了您不能在两个容器中的 Qualify Product 中使用相同的类别或相同的产品。
但在促销“创建买一送一促销”中,它演示了使用此场景创建促销。
hybris - 如何在 Hybris 中使用 RotatingImagesComponent?
我正在尝试在 hybris 的主页上显示 RotatingImagesComponent。我写了以下内容。
我已将目录版本从暂存版本同步到在线版本,但前端没有显示任何内容。任何帮助将不胜感激。提前致谢!
solr - 分面显示在搜索页面上,但不在 Hybris 中的类别页面上
我编写了以下 impexes 来索引属性并将其用作方面。它在搜索页面上显示为构面,但不在类别页面上。有人可以帮忙吗?
hybris - 通过 Java 代码完成 impex 导入后未反映更改
我已经编写了使用 Java 代码的 impexes。我在 HAC 中运行它们。它们已成功导入,但未反映通过代码进行的更改。有人可以告诉我们需要做什么才能反映这些变化吗?使用的 impexes 是:
上面的 impex 在 HAC 中加载成功,但是当我在后台检查时,找不到通过代码所做的更改。
java-8 - java.lang.OutOfMemoryError:在 hybris 中放置订单时出现 Java 堆空间错误
我在具有 16GB RAM 的 Windows 上使用 jdk1.8.0_281、hybris 1811 和 hsql 作为数据库。店面加载正常,但在下订单时出现 Java 堆空间错误。我试图在属性文件下面增加内存,但它没有修复它。以下是我添加的本地属性
下面是我得到的错误堆栈跟踪
hybris - 如何在不使用唯一修饰符的情况下通过灵活搜索更新项目类型的所有实例?
我需要更新项目类型的所有实例(例如 Employee),但我不想使用uid[unique=true]
?
hybris - 为单页访客结账获取“未设置交付模式”
我目前在一个项目中工作,该项目使用带有 B2C 加速器的 Spartacus 3.2.2 和 SAP Commerce 2011。该项目不遵循传统的购物网站,而是利用 Spartacus 和 SAP Commerce 的功能来实现自己的目的。我们有一个单页访客结帐流程,其中在加载 Angular 组件时使用购物车设置送货地址、付款详细信息和送货模式。
上下文是假设用户有一个表单,他们在其中输入一些信息,如电子邮件和其他一些详细信息,然后单击下一步。将生成一个购物车,其中添加了一个示例产品并关联了电子邮件。用户被重定向到一个页面以查看他们想要提交的信息,该页面是单页访客结帐。当此页面加载时,付款详情、送货地址和送货方式在后台设置,用户不会注意到任何事情。他们点击提交并在后台创建订单,当他们登陆确认页面时,前端将显示其他用户。
问题是当用户在查看信息后提交信息时,订单调用失败并且我们得到“未设置交付模式”并且它是不一致的。
这是我们用于单页访客结帐的示例代码:
所以现在的问题是:
当它不一致时,我们甚至如何找到这种“未设置交付模式”的根本原因?为了提供更多上下文,对付款、地址和交付模式的请求调用正确,但是当最终购物车对象在请求完成后返回时,我们有时没有设置交付成本。
有没有办法优化代码以排除可能发生的任何竞争条件?考虑到所有添加付款明细、地址和送货方式的操作都是为同一个购物车异步设置的。
任何帮助表示赞赏,甚至欢迎优化想法。
谢谢
参考:
spartacus-storefront - 如何在 PDP 上使用附加的 ProductWsDTO 属性?
SAP Spartacus 允许我们覆盖 PDP 中使用的各种组件。示例:ProductSummaryComponent (cx-product-summary)。
使用 ConfigModule 覆盖它们非常简单,因为它们是 CMS 组件。
我的问题是关于我们如何使用控制器可能返回的附加属性。
示例 - 让我们考虑向 ProductModel 添加一个属性“manufacturedYear”,然后我们还通过 beans xml 将其包含在 ProductData 中。现在它在 Data 对象中,假设我们将它添加到 ProductWsDTO 并将它添加到 DTO 映射中,现在它将在 /product/{code} API 调用中返回。
在 UI 中,我们有以下产品:
product$: Observable = this.currentProductService.getProduct();
所以“产品”是@spartacus/core 中“product.model.ts”中可用的模型。我们如何扩展它,以便我们可以通过使用进行实际 API 调用的底层服务来使用新的“manufacturedYear”?
目的只是扩展模型,但使用底层服务进行 API 调用以获取我们的附加属性。
谢谢你的帮助
java - SAP Spartacus 表单个性化
如果已经有使用给定电子邮件注册的帐户,我需要修改注册表以显示错误消息。SAP Hybris 后端,Angular 中的 Spartacus 店面。目前,我有一个自定义验证器类,它可以正常工作:
如果是这种情况,店面会显示一条红色错误消息:“UID 无效”,但我想将其更改为“电子邮件地址无效或已在使用中”。
我怎样才能做到这一点?
当我调查这个问题时,店面中的这个字符串来自一个名为 validationError.invalid.uid 的常量,它位于一个名为 spartacus-assets.js 的文件中,如下所示:
据我所知,确认和/或错误消息以某种方式填充(第 6 行):
这些都是开箱即用的,都位于 node_modules 中,所以我不能在这里重写东西,因为在npm install之后它们都会消失。
可以更改该消息吗?有什么办法可以解决这个问题吗?我错过了什么还是我错了?我欢迎任何评论,如您所知,我对 SAP Commerce 非常陌生。