通过 Java 代码完成 impex 导入后未反映更改

Posted

技术标签:

【中文标题】通过 Java 代码完成 impex 导入后未反映更改【英文标题】:Changes not being reflected after impex import when done through Java code 【发布时间】:2021-10-23 17:27:43 【问题描述】:

我已经编写了使用 Java 代码的 impexes。我在 HAC 中运行它们。它们已成功导入,但未反映通过代码进行的更改。 有人可以告诉我们需要做什么才能反映这些变化吗? 使用的 impexes 是:

$contentCatalog=apparel-ukContentCatalog 
$contentCV=catalogVersion(CatalogVersion.catalog(Catalog.id[default=$contentCatalog]),CatalogVersion.version[default=Staged])[default=$contentCatalog:Staged] 
$picture = media(code,$contentCV)

INSERT_UPDATE BannerComponent;$contentCV[unique=true];uid[unique=true];name;&componentRef;urlLink;
;;myBannerComp;My Banner Component;myBannerComp;/;


UPDATE BannerComponent;uid[unique=true];$contentCV[unique=true];$picture[lang=en];headline[lang=en];content[lang=en];
#%xyzService = de.hybris.platform.core.Registry.getApplicationContext().getBean("xyzService");
#%xyz=xyzService.findXyzByCode("D100");
;myBannerComp;
#%xyz.getPhoto();
#%xyz.getName();
#%xyz.getDescription();

上面的 impex 在 HAC 中加载成功,但是当我在后台检查时,没有找到通过代码所做的更改。

【问题讨论】:

请添加代码参考和期望 添加代码,请检查。谢谢 我希望,你已经选择了在 hac 运行期间启用执行的代码 是的,我做到了 我在通过 HAC 运行 impex 时选择了启用代码执行。 impex 已成功导入。但这些变化并未体现出来。 【参考方案1】:

请在 impex 下面试试。

$contentCatalog=apparel-ukContentCatalog 
$contentCV=catalogVersion(CatalogVersion.catalog(Catalog.id[default=$contentCatalog]),CatalogVersion.version[default=Staged])[default=$contentCatalog:Staged] 
$picture = media(code,$contentCV)

INSERT_UPDATE BannerComponent;$contentCV[unique=true];uid[unique=true];name;&componentRef;urlLink;
;;myBannerComp;My Banner Component;myBannerComp;/;


UPDATE BannerComponent;uid[unique=true];$contentCV[unique=true];$picture[lang=en];headline[lang=en];content[lang=en];
"#% beforeEach: 

de.hybris.platform.servicelayer.<package>.xyzService service = de.hybris.platform.core.Registry.getApplicationContext().getBean(""xyzService"");;
try 

    <CustomModel> xyz=xyzService.findXyzByCode("D100");
    line.put(new Integer(3), xyz.getPhoto());
    line.put(new Integer(4), xyz.getName();
    line.put(new Integer(5), xyz.getDescription();
    
 
catch (Exception ex) 
";
;myBannerComp;

【讨论】:

以上是关于通过 Java 代码完成 impex 导入后未反映更改的主要内容,如果未能解决你的问题,请参考以下文章

使用 Spring JPA “刷新”实体后未反映更改

firebase 项目所有者更改后未反映在 Flutter Web 部署上的更改

impex 语法

Cognito - 导入用户后未发送电子邮件

模块构建失败 - 导入后未找到 ESLint 配置

IMPEX