如何根据给定Hybris XML代码生成正确的Impex文件
正确生成BoxLink和LinkBoxComponent的Hybris Impex文件
针对你提供的Hybris XML类型定义,下面是对应的正确Impex导入文件,同时指出你之前尝试中的问题:
一、BoxLink 的正确 Impex
根据XML定义,BoxLink是CatalogItemType,唯一键由code和catalogVersion联合组成,且link是本地化属性,需要标注语言标识。你之前的尝试存在拼写错误(unique=tru应为unique=true),且多余了一个问号占位符。
# BoxLink 导入脚本:code + catalogVersion 作为唯一键,支持本地化link字段 INSERT_UPDATE BoxLink;code[unique=true];catalogVersion(catalog(id),version)[unique=true];link[lang=en];url ;boxLink_home;Default:Staged;"Homepage";/home ;boxLink_products;Default:Staged;"Our Products";/products ;boxLink_contact;Default:Staged;"Contact Us";/contact
二、LinkBoxComponent 的正确 Impex
LinkBoxComponent继承自SimpleCMSComponent,必须包含父类的必填字段uid和catalogVersion;title是本地化属性,boxLinkList是BoxLink的集合类型,通过BoxLink的code来关联多个实例。你之前的尝试核心错误是把类型名写错成了code,完全不符合Impex的语法规范。
# LinkBoxComponent 导入脚本:关联已创建的BoxLink实例 INSERT_UPDATE LinkBoxComponent;uid[unique=true];catalogVersion(catalog(id),version)[unique=true];title[lang=en];boxLinkList(code) ;footer_link_box;Default:Staged;"Footer Navigation";boxLink_home;boxLink_products;boxLink_contact ;header_link_box;Default:Staged;"Header Menu";boxLink_home;boxLink_products
关键注意点
- 本地化属性:所有标注
localized:的字段(如link、title)必须添加[lang=xxx]后缀,多语言场景可重复定义列(如title[lang=en];title[lang=zh]) - 集合类型关联:
boxLinkList是List集合,通过(code)引用BoxLink的唯一标识,多个值用分号分隔 - Catalog类型对象:BoxLink和LinkBoxComponent都是CatalogItem,必须用
catalogVersion(catalog(id),version)指定具体的目录和版本,且作为唯一键的一部分 - INSERT_UPDATE:该关键字实现“存在则更新,不存在则插入”的逻辑,适合日常数据维护
内容的提问来源于stack exchange,提问作者CherrJ
相关产品推荐
相关产品推荐

